<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!-- 
	Copyright (C) 2007, 2008, 2009, 2010, 2011. PARP Research Group.
	<http://perception.inf.um.es>
	University of Murcia, Spain.

	This file is part of the QVision library.

	QVision is free software: you can redistribute it and/or modify
	it under the terms of the GNU Lesser General Public License as
	published by the Free Software Foundation, version 3 of the License.

	QVision is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Lesser General Public License for more details.

	You should have received a copy of the GNU Lesser General Public
	License along with QVision. If not, see <http://www.gnu.org/licenses/>.
-->

<html><head><meta http-equiv="content-Type" content="text/html;charset=UTF-8">
<title>QVision: Qt&#39;s Image, Video and Computer Vision Library</title>
<meta name="title" content="QVision" />
<meta name="dc.title" content="QVision" />
<meta name="url" content="http://perception.inf.um.es/QVision" />
<meta name="author" content="PARP Research Group - http://perception.inf.um.es" />
<meta name="revisit-after" content="30 DAYS"/>
<meta name="robots" content="index,follow"/>
<meta name="classification" content="*">
<meta name="rating" content="Safe For Kids">
<meta name="distribution" content="GLOBAL"/>
<meta name="description" content="Qt's Image, Video and Computer Vision Library"/>
<meta name="page-topic" content="Computer Vision research and prototype programming"/>
<meta name="geo.country" content="ES" />

<!--
Keywords:
By license:		open source, gnu, lgpl, gpl, free
By theme:		computer vision, image processing, robotics, programming, source, development
By usage:		library, toolkit, framework, prototype, application
By programming specs:	object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping
Interoperability with:	Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack
Functionallity:		image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface
Main data-types:	matrix, vector, tensor, quaternion, image, polyline
Video sources:		webcam, camera, stream
Devices:		embedded, desktop computer, laptop, mini-laptop
Authors:		PARP research group. University of Murcia, Spain.
-->

<meta name="keywords" content="augmented reality, sfm, structure from motion, open source, gnu, lgpl, gpl, free, computer vision, image processing, robotics, programming, source, development, library, toolkit, framework, prototype, application, object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping, Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack, image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface, matrix, vector, tensor, quaternion, image, polyline, webcam, camera, stream, embedded, desktop computer, laptop, mini-laptop, University of Murcia, Spain, PARP research group, vision por computador"/>
<meta http-equiv="keywords" content="augmented reality, sfm, structure from motion, open source, gnu, lgpl, gpl, free, computer vision, image processing, robotics, programming, source, development, library, toolkit, framework, prototype, application, object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping, Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack, image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface, matrix, vector, tensor, quaternion, image, polyline, webcam, camera, stream, embedded, desktop computer, laptop, mini-laptop, University of Murcia, Spain, PARP research group, vision por computador"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="title" content="QVision"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="favicon.ico" />
</head><body>

<table width="100%"><tr>
	<td><a href="http://perception.inf.um.es/"><img src="parp.png" border="0" /> <big>PARP Research Group</big></a></td>
	<td align="right"><a href="http://www.um.es/"><big>Universidad de Murcia</big> <img src="um.png" border="0" /></a></td>
</tr></table>

<hr /><br />

<table width="95%" align="center"><tr><td>

<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <form id="FSearchBox" action="search.php" method="get">
            <img id="MSearchSelect" src="search/search.png" alt=""/>
            <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                   onfocus="searchBox.OnSearchFieldFocus(true)" 
                   onblur="searchBox.OnSearchFieldFocus(false)"/>
          </form>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>QVMatrix Class Reference<br/>
<small>
[<a class="el" href="group__qvmath.html">Math functionality</a>]</small>
</h1><!-- doxytag: class="QVMatrix" -->
<p>Implementation of numerical matrices.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="qvmatrix_8h_source.html">QVMatrix</a>&gt;</code></p>

<p><a href="classQVMatrix-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a> { <br/>
&nbsp;&nbsp;<a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999aeb4802be8c8da265afc8b204e41dfcd4">General</a> =  0x00, 
<a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999a70d0ec7b265bc849efccd60db9c40a5a">Symmetric</a> =  0x01, 
<a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999a266e723ddafba230f9e674cb61c1a86d">UpperTriangular</a> =  0x2, 
<a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999ab550fa0060215d15361dfc059a2c19db">LowerTriangular</a> =  0x03, 
<br/>
&nbsp;&nbsp;<a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999a73377bc14b613dbcf74b7d0215568481">Diagonal</a> =  0x04, 
<a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999a68fb1d9ef0f816e806f50414659deb80">PermutationMatrix</a> =  0x05
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Matrix types. </p>
 <a href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ab4f574a0822e8d707ca40970563338a3">QVMatrix</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#ab4f574a0822e8d707ca40970563338a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#abc05373f1061e5bcc5a2b14c4935b87f">QVMatrix</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#abc05373f1061e5bcc5a2b14c4935b87f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aa1e79567d85632f3bdfbe5168ef75c19">QVMatrix</a> (const int rows, const int cols, const double *data=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimensional constructor.  <a href="#aa1e79567d85632f3bdfbe5168ef75c19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a4aab4e157f144cc043814c6d5b99c869">QVMatrix</a> (const int rows, const int cols, const <a class="el" href="classQVVector.html">QVVector</a> &amp;data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimensional constructor.  <a href="#a4aab4e157f144cc043814c6d5b99c869"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ac6d8176e71a0767469156d10f8b469d9">QVMatrix</a> (const int rows, const int cols, const double value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimensional constructor with default value.  <a href="#ac6d8176e71a0767469156d10f8b469d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a790874f74bdbebb42ba4e9b36bdfc9a1">QVMatrix</a> (const <a class="el" href="classQVQuaternion.html">QVQuaternion</a> &amp;quaternion)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotation matrix constructor.  <a href="#a790874f74bdbebb42ba4e9b36bdfc9a1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a9c3be8f1d2a66325aa725f870af88a2d">QVMatrix</a> (const gsl_matrix *matrix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor for gsl_matrix.  <a href="#a9c3be8f1d2a66325aa725f870af88a2d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a17dd731d484d852109fd76b7b23b7861">QVMatrix</a> (const CvMat *cvMatrix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OpenCV matrix conversion constructor.  <a href="#a17dd731d484d852109fd76b7b23b7861"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CvMat *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a129ef6e4e7854e7faa11234ac6686239">toCvMat</a> (const int cvMatType=CV_64F) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the matrix to an OpenCV matrix structure.  <a href="#a129ef6e4e7854e7faa11234ac6686239"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a9dec7b945b360b936f42343d1993c73d">operator CvMat *</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the matrix to an OpenCV matrix structure.  <a href="#a9dec7b945b360b936f42343d1993c73d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#af9a2ca831ea15352d53859a5ba817913">QVMatrix</a> (const <a class="el" href="classQVVector.html">QVVector</a> &amp;vector, const bool rowVector=true)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Octave matrix conversion constructor.  <a href="#af9a2ca831ea15352d53859a5ba817913"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a55959c258761e9433040492bf0caf879">QVMatrix</a> (const QList&lt; <a class="el" href="classQVVector.html">QVVector</a> &gt; &amp;vectorList)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from a list of QVVectors.  <a href="#a55959c258761e9433040492bf0caf879"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a187cdf22594a555e1e165938dffdabf8">QVMatrix</a> (const QList&lt; QVector&lt; double &gt; &gt; &amp;vectorList)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from a list of QVectors.  <a href="#a187cdf22594a555e1e165938dffdabf8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a9d5b767dd336700c292ad9aac40c6314">QVMatrix</a> (const QList&lt; QPointF &gt; &amp;pointList)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from a list of QPointF.  <a href="#a9d5b767dd336700c292ad9aac40c6314"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a4f0eb74e2d2b71ba42ec6595527c71b4">operator QList&lt; QVVector &gt;</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert to a list of QVVectors operator.  <a href="#a4f0eb74e2d2b71ba42ec6595527c71b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a5482f998e122dcab127ce2bb18dbfcfc">operator QList&lt; QVector&lt; double &gt; &gt;</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert to a list of QVectors operator.  <a href="#a5482f998e122dcab127ce2bb18dbfcfc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aeb271c920414baa68078052cd263d391">operator gsl_matrix *</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert to a gsl_matrix * operator.  <a href="#aeb271c920414baa68078052cd263d391"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ad8121ca66a84f9d804f2e52764dc0fac">operator=</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy operator.  <a href="#ad8121ca66a84f9d804f2e52764dc0fac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a0475e20fe6c860e6188729afe78c6f72">operator==</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix equality operator.  <a href="#a0475e20fe6c860e6188729afe78c6f72"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a7eba7d4d45f9f23f32774871c442eb04">operator+=</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix incremental operator.  <a href="#a7eba7d4d45f9f23f32774871c442eb04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aa54b4b5519dce590e7973f5d34dcc9ae">operator!=</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix unequality operator.  <a href="#aa54b4b5519dce590e7973f5d34dcc9ae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a6bf774fd020ec66c42f3f40659061079">operator*</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix product operator.  <a href="#a6bf774fd020ec66c42f3f40659061079"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aa0424b2a59ca4be8687837ddae2afeab">operator/</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix division.  <a href="#aa0424b2a59ca4be8687837ddae2afeab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a1742df867662935c6aa02a22825baa9e">operator+</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix addition operator.  <a href="#a1742df867662935c6aa02a22825baa9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#af36e67dde2af09f40295af574cc2130b">operator-</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix substraction operator.  <a href="#af36e67dde2af09f40295af574cc2130b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aa114573396ac3b3bc9ebaf975dc7ec9c">operator-</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the additive inverse of the matrix.  <a href="#aa114573396ac3b3bc9ebaf975dc7ec9c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#af8943096382a045d930333b515bfcf8b">operator*</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar product.  <a href="#af8943096382a045d930333b515bfcf8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a747c925a4238317f16c26a4bafd64503">operator/</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar division operator.  <a href="#a747c925a4238317f16c26a4bafd64503"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a49524200d6a4d2b01682239f176b9948">operator+</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar addition.  <a href="#a49524200d6a4d2b01682239f176b9948"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a349c6ab3c6b3a693df71ed1b787b0c67">operator-</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar substraction operator.  <a href="#a349c6ab3c6b3a693df71ed1b787b0c67"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a60a80a735446038eec5b3ddaf8e8ed03">operator*</a> (const <a class="el" href="classQVVector.html">QVVector</a> &amp;vector) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-vector product.  <a href="#a60a80a735446038eec5b3ddaf8e8ed03"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aec43856676ac83417fcafda9d4ef57e5">verticalAppend</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends matrices vertically.  <a href="#aec43856676ac83417fcafda9d4ef57e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a7b51282594521a3a7c759c7a43b5e73a">horizontalAppend</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends matrices horizontally.  <a href="#a7b51282594521a3a7c759c7a43b5e73a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a03059f615e8ec998bfb35f22b23e1280">operator&amp;</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends matrices vertically.  <a href="#a03059f615e8ec998bfb35f22b23e1280"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a6decf507e131ab7fd704655277c004dd">operator|</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends matrices horizontally.  <a href="#a6decf507e131ab7fd704655277c004dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a993620be472b4de818d58adba0c9ed4a">operator&amp;</a> (const <a class="el" href="classQVVector.html">QVVector</a> &amp;vector) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends vector to matrix vertically.  <a href="#a993620be472b4de818d58adba0c9ed4a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a63687cf86392096e1c43bfb429b57b1f">operator|</a> (const <a class="el" href="classQVVector.html">QVVector</a> &amp;vector) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends vector to matrix horizontally.  <a href="#a63687cf86392096e1c43bfb429b57b1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a7c4636a7c04ddacddb1cea2cbc1a5b60">operator()</a> (const int row, const int col)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element access operator.  <a href="#a7c4636a7c04ddacddb1cea2cbc1a5b60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a3166c3978b16d480038546163d087c3b">operator()</a> (const int row, const int col) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overloaded version of element access operator.  <a href="#a3166c3978b16d480038546163d087c3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ae9de904f46a790bef981c0101a4ee6f6">getDataSize</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the size of the data array.  <a href="#ae9de904f46a790bef981c0101a4ee6f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a50de15cc657c8a1d9fcc749161192a64">getReadData</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a read-only reference to the data buffer of the matrix.  <a href="#a50de15cc657c8a1d9fcc749161192a64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a0c5b1e685d14d230c55cfcfb058e372a">getWriteData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a reference of the data buffer of the matrix for read and write accesses.  <a href="#a0c5b1e685d14d230c55cfcfb058e372a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a2f87710c9d8ae4b07b03605daea3782e">transpose</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the order of the indexes in the matrix.  <a href="#a2f87710c9d8ae4b07b03605daea3782e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ae6b416b2be44685dab80600afd239ed4">set</a> (const double value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets every element of the matrix to a given value.  <a href="#ae6b416b2be44685dab80600afd239ed4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ad93605cfaa45a37fe579a709d3707ddf">equals</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix equality operator.  <a href="#ad93605cfaa45a37fe579a709d3707ddf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a5470e61c2827d5485596c3901690154c">dotProduct</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix, const bool transposeFirstOperand=false, const bool transposeSecondOperand=false) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix product.  <a href="#a5470e61c2827d5485596c3901690154c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a2b08927830e95af327187580ba1875fc">dotProduct</a> (const <a class="el" href="classQVVector.html">QVVector</a> &amp;vector, const bool transposeMatrix=false) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-vector product.  <a href="#a2b08927830e95af327187580ba1875fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a30f99ef8af0ff9f3997143d389698b71">elementProduct</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix element product.  <a href="#a30f99ef8af0ff9f3997143d389698b71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a35e6590cf43e82694aa2b3d8e6559136">matrixDivide</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix division.  <a href="#a35e6590cf43e82694aa2b3d8e6559136"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a051fa63dfff104d2705b793b4eb39213">triangularSolve</a> (const <a class="el" href="classQVVector.html">QVVector</a> &amp;b, <a class="el" href="classQVVector.html">QVVector</a> &amp;x, bool transposed=false, bool unit_diagonal=false) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Triangular system solving (vector of RHS).  <a href="#a051fa63dfff104d2705b793b4eb39213"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#af70ecaa97b938478d6e77dc05defcdda">triangularSolve</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;B, <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;X, bool transposed=false, bool unit_diagonal=false, bool left=true) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Triangular system solving (matrix of RHS).  <a href="#af70ecaa97b938478d6e77dc05defcdda"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ab00a021c82b223c25b6d51c203e30d16">inverse</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the inverse of the matrix.  <a href="#ab00a021c82b223c25b6d51c203e30d16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a340dd57c9cd0130521af15af550cfef2">det</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the determinant of the matrix.  <a href="#a340dd57c9cd0130521af15af550cfef2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a065ea0cfb0a40679039c539bf4bb76b6">meanCol</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the mean vector for the column vectors in the matrix.  <a href="#a065ea0cfb0a40679039c539bf4bb76b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#abcbf2346a9cf0a62444d7a9254890952">addition</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix addition.  <a href="#abcbf2346a9cf0a62444d7a9254890952"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a383f8068c7fe6e793807e20542f779d1">inlineAddition</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix addition.  <a href="#a383f8068c7fe6e793807e20542f779d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ac65404c74ffc0f41f6d22a3fd6914f8a">substract</a> (const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-matrix substraction.  <a href="#ac65404c74ffc0f41f6d22a3fd6914f8a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ab87d29d63b8f41ff3f4a812a813f7718">scalarDivide</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar division.  <a href="#ab87d29d63b8f41ff3f4a812a813f7718"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a75ac95f4f6c88b4354e4e8aeab5b13a1">scalarProduct</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar product.  <a href="#a75ac95f4f6c88b4354e4e8aeab5b13a1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#af1286b0c208cec68dd42e5411b210081">scalarAdd</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar addition.  <a href="#af1286b0c208cec68dd42e5411b210081"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a6980327fe32d68ae6028482a8a96200e">scalarSubstract</a> (const double value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix-scalar substraction.  <a href="#a6980327fe32d68ae6028482a8a96200e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a387750529622104faba8047cb0efa62a">norm2</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the <a href="http://en.wikipedia.org/wiki/Norm_%28mathematics%29">norm<sub>2</sub></a> for matrix.  <a href="#a387750529622104faba8047cb0efa62a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a9e57c222b6e0b0d8f43576b8ffc01e04">trace</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the <a href="http://en.wikipedia.org/wiki/Trace_(linear_algebra)">trace</a> of the matrix.  <a href="#a9e57c222b6e0b0d8f43576b8ffc01e04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a43455dfaf2e8fa71242ea1fdc8beb102">containsNaN</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the matrix contains a NaN value or not.  <a href="#a43455dfaf2e8fa71242ea1fdc8beb102"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a6172be84a1ff456c4f39b37e6e3d3eaa">containsInf</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the matrix contains an infinite value or not.  <a href="#a6172be84a1ff456c4f39b37e6e3d3eaa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aaaf9670f3170fdb0f609d6d08a75a05d">isDiagonal</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the matrix is a diagonal matrix or not.  <a href="#aaaf9670f3170fdb0f609d6d08a75a05d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a12aec43704cd3577bea5fd127343aee0">rowHomogeneousNormalize</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Homogeneous normalization for rows of the matrix.  <a href="#a12aec43704cd3577bea5fd127343aee0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a420bba03aeccbd18161418049a025f66">getCols</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get width of the matrix.  <a href="#a420bba03aeccbd18161418049a025f66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a4108aa685baecab8a9822dcc04e98b7f">getRows</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get height of the matrix.  <a href="#a4108aa685baecab8a9822dcc04e98b7f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a546d28cd3b62456bb4e09987c9904162">getType</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get type of the matrix.  <a href="#a546d28cd3b62456bb4e09987c9904162"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a5ff2ac8ea4e316fc793d32ce09671e8c">setType</a> (<a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a> type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set type of the matrix.  <a href="#a5ff2ac8ea4e316fc793d32ce09671e8c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a6d95db8050afcbb1336193a3b5b6573b">getCols</a> (const int firstCol, const int lastCol) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get submatrix composed by given column range.  <a href="#a6d95db8050afcbb1336193a3b5b6573b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a00e9802b334dca947733bf00ac049c5c">getRows</a> (const int firstRow, const int lastRow) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get submatrix composed by given row range.  <a href="#a00e9802b334dca947733bf00ac049c5c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ae27f08cd9a56a5c85ba2757cc4078d80">getRow</a> (const int row) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a row of the matrix.  <a href="#ae27f08cd9a56a5c85ba2757cc4078d80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ad8684520b5095fb350022fc9acb0dba8">setRow</a> (const int row, <a class="el" href="classQVVector.html">QVVector</a> vector)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a row of the matrix.  <a href="#ad8684520b5095fb350022fc9acb0dba8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a002135a00c7da0bce059a47bc1def347">setRow</a> (const int row, QVector&lt; double &gt; vector)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a row of the matrix.  <a href="#a002135a00c7da0bce059a47bc1def347"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a476e9d1714f98c1ae1b7c1d396fcdbaa">getCol</a> (const int col) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a column of the matrix.  <a href="#a476e9d1714f98c1ae1b7c1d396fcdbaa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a8ebc03603ced1c727afd6f3bd755e57a">setCol</a> (const int col, <a class="el" href="classQVVector.html">QVVector</a> vector)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a column of the matrix.  <a href="#a8ebc03603ced1c727afd6f3bd755e57a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a77b34335086bb9e12d7d72398c608e75">getSubmatrix</a> (const int firstRow, const int lastRow, const int firstCol, const int lastCol) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a submatrix from a matrix.  <a href="#a77b34335086bb9e12d7d72398c608e75"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ac5ce9ed25c533d7b89abe5b6a5c6df3e">setSubmatrix</a> (const int row, const int col, const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a submatrix from a matrix.  <a href="#ac5ce9ed25c533d7b89abe5b6a5c6df3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a8c360feaaf1382f1afeae554ca1af5b7">reversedRows</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a matrix with reversed rows (bottom to top).  <a href="#a8c360feaaf1382f1afeae554ca1af5b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a9987d3595383ca057eeaad815845f00a">reversedCols</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a matrix with reversed columns (right to left).  <a href="#a9987d3595383ca057eeaad815845f00a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#abcfe032545b49448a2a064a7952f7ece">diagonal</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the diagonal of the matrix.  <a href="#abcfe032545b49448a2a064a7952f7ece"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a8cb7e8779e6d1ed08b6ddb9e2fed9750">reshape</a> (const int newRows, const int newCols) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new matrix with different size and the same content.  <a href="#a8cb7e8779e6d1ed08b6ddb9e2fed9750"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a6eb15980d17c17d4a55ab09a77bcd715">identity</a> (const int size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an identity matrix.  <a href="#a6eb15980d17c17d4a55ab09a77bcd715"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a953207e797ad5c2f8477d3507dbcf86b">cameraCalibrationMatrix</a> (const double f, const double r=1.0, const double cx=0.0, const double cy=0.0, const double s=0.0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an intrinsic camera calibration matrix.  <a href="#a953207e797ad5c2f8477d3507dbcf86b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#aa51c7a1ffb2ec8c9f56cd4c10ad61e81">zeros</a> (const int rows, const int cols)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a zero matrix.  <a href="#aa51c7a1ffb2ec8c9f56cd4c10ad61e81"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ad2840553c7fa2cf81c8ce982db34b7b4">random</a> (const int rows, const int cols)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a matrix of random values.  <a href="#ad2840553c7fa2cf81c8ce982db34b7b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a80d992c0c32f62f03d4d6d94a02cfed9">diagonal</a> (const <a class="el" href="classQVVector.html">QVVector</a> &amp;diagonalVector)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a diagonal matrix with given entries.  <a href="#a80d992c0c32f62f03d4d6d94a02cfed9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a34cc7d7a575e6e8f766d5e8d6f71ec70">rotationMatrix</a> (const double angle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a rotation matrix for points in the 2D plane.  <a href="#a34cc7d7a575e6e8f766d5e8d6f71ec70"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a5ee1de2599284bf68e1940248487687c">rotationMatrix</a> (const QPointF center, const double angle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a rotation matrix for points in the 2D plane.  <a href="#a5ee1de2599284bf68e1940248487687c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a0d4484ab18803104864a5da5a12e3231">translationMatrix</a> (const double x, const double y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a 2D translation matrix.  <a href="#a0d4484ab18803104864a5da5a12e3231"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ae85e5758081def4123365e2b949e8028">scaleMatrix</a> (const double zoom)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a 2D scale matrix.  <a href="#ae85e5758081def4123365e2b949e8028"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a5b07abcac226018daecf7ed1251c79f4">rotationMatrix3dXAxis</a> (const double angle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a rotation matrix for 3D-X axis.  <a href="#a5b07abcac226018daecf7ed1251c79f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#ac78ee1008505af7a88f864c74d14c454">rotationMatrix3dYAxis</a> (const double angle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a rotation matrix for 3D-Y axis.  <a href="#ac78ee1008505af7a88f864c74d14c454"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#afceda9ac099f725f7c44d47a4e7e9a9f">rotationMatrix3dZAxis</a> (const double angle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a rotation matrix for 3D-Z axis.  <a href="#afceda9ac099f725f7c44d47a4e7e9a9f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#adcd15d700257dffdbf44cd015809dff0">translationMatrix3d</a> (const double x, const double y, const double z)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a 3D translation matrix.  <a href="#adcd15d700257dffdbf44cd015809dff0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classQVMatrix.html">QVMatrix</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQVMatrix.html#a898e31e14b051d3795d3657b0091c577">multiply</a> (const QList&lt; <a class="el" href="classQVMatrix.html">QVMatrix</a> &gt; &amp;matrices)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the product of a list of matrices.  <a href="#a898e31e14b051d3795d3657b0091c577"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Implementation of numerical matrices. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="MatricesAndVectors.html">Matrices and vectors</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00068">68</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a8f4414e6cfd14fe164a164ab20379999"></a><!-- doxytag: member="QVMatrix::MatrixType" ref="a8f4414e6cfd14fe164a164ab20379999" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">QVMatrix::MatrixType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix types. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a8f4414e6cfd14fe164a164ab20379999aeb4802be8c8da265afc8b204e41dfcd4"></a><!-- doxytag: member="General" ref="a8f4414e6cfd14fe164a164ab20379999aeb4802be8c8da265afc8b204e41dfcd4" args="" -->General</em>&nbsp;</td><td>
<p>General matrix. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a8f4414e6cfd14fe164a164ab20379999a70d0ec7b265bc849efccd60db9c40a5a"></a><!-- doxytag: member="Symmetric" ref="a8f4414e6cfd14fe164a164ab20379999a70d0ec7b265bc849efccd60db9c40a5a" args="" -->Symmetric</em>&nbsp;</td><td>
<p>Symmetrix matrices. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a8f4414e6cfd14fe164a164ab20379999a266e723ddafba230f9e674cb61c1a86d"></a><!-- doxytag: member="UpperTriangular" ref="a8f4414e6cfd14fe164a164ab20379999a266e723ddafba230f9e674cb61c1a86d" args="" -->UpperTriangular</em>&nbsp;</td><td>
<p>Upper triangular matrix. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a8f4414e6cfd14fe164a164ab20379999ab550fa0060215d15361dfc059a2c19db"></a><!-- doxytag: member="LowerTriangular" ref="a8f4414e6cfd14fe164a164ab20379999ab550fa0060215d15361dfc059a2c19db" args="" -->LowerTriangular</em>&nbsp;</td><td>
<p>Lower triangular matrix. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a8f4414e6cfd14fe164a164ab20379999a73377bc14b613dbcf74b7d0215568481"></a><!-- doxytag: member="Diagonal" ref="a8f4414e6cfd14fe164a164ab20379999a73377bc14b613dbcf74b7d0215568481" args="" -->Diagonal</em>&nbsp;</td><td>
<p>Diagonal matrix. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a8f4414e6cfd14fe164a164ab20379999a68fb1d9ef0f816e806f50414659deb80"></a><!-- doxytag: member="PermutationMatrix" ref="a8f4414e6cfd14fe164a164ab20379999a68fb1d9ef0f816e806f50414659deb80" args="" -->PermutationMatrix</em>&nbsp;</td><td>
<p>Permutation matrix. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00073">73</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab4f574a0822e8d707ca40970563338a3"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="ab4f574a0822e8d707ca40970563338a3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>
<p>By default, it constructs a 1x1 matrix. </p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00038">38</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a953207e797ad5c2f8477d3507dbcf86b">cameraCalibrationMatrix()</a>, <a class="el" href="classQVMatrix.html#a993620be472b4de818d58adba0c9ed4a">operator&amp;()</a>, and <a class="el" href="classQVMatrix.html#a63687cf86392096e1c43bfb429b57b1f">operator|()</a>.</p>

</div>
</div>
<a class="anchor" id="abc05373f1061e5bcc5a2b14c4935b87f"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="abc05373f1061e5bcc5a2b14c4935b87f" args="(const QVMatrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy constructor. </p>
<p>Creates a matrix object copying the content from a given one. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>matrix to be copied. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00044">44</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aa1e79567d85632f3bdfbe5168ef75c19"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="aa1e79567d85632f3bdfbe5168ef75c19" args="(const int rows, const int cols, const double *data=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>cols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double *&nbsp;</td>
          <td class="paramname"> <em>data</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dimensional constructor. </p>
<p>Creates a new matrix of the specified dimensions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>number of rows for the new matrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cols</em>&nbsp;</td><td>number of rows for the new matrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>pointer to the data, stored in row mayor order. If no pointer, or the NULL value, is provided, </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00048">48</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a4aab4e157f144cc043814c6d5b99c869"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="a4aab4e157f144cc043814c6d5b99c869" args="(const int rows, const int cols, const QVVector &amp;data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>cols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dimensional constructor. </p>
<p>Creates a new matrix of the specified dimensions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>number of rows for the new matrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cols</em>&nbsp;</td><td>number of rows for the new matrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Vector containing the data, in row mayor order. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00063">63</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ac6d8176e71a0767469156d10f8b469d9"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="ac6d8176e71a0767469156d10f8b469d9" args="(const int rows, const int cols, const double value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>cols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dimensional constructor with default value. </p>
<p>Creates a new matrix of the specified dimensions, and with each one of its cells containing a provided value.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>number of rows for the new matrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cols</em>&nbsp;</td><td>number of rows for the new matrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>default value to set the elements of the matrix. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00073">73</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a790874f74bdbebb42ba4e9b36bdfc9a1"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="a790874f74bdbebb42ba4e9b36bdfc9a1" args="(const QVQuaternion &amp;quaternion)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVQuaternion.html">QVQuaternion</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>quaternion</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotation matrix constructor. </p>
<p>Creates a rotation matrix from a quaternion.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>quaternion</em>&nbsp;</td><td>quaternion containing the rotation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVQuaternion.html#a00c343b8018cfc98536b13ff31341751" title="Gets the rotation matrix corresponding to the Quaternion.">QVQuaternion::toRotationMatrix()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00079">79</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a9c3be8f1d2a66325aa725f870af88a2d"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="a9c3be8f1d2a66325aa725f870af88a2d" args="(const gsl_matrix *matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const gsl_matrix *&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy constructor for gsl_matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>matrix to be copied </td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This constructor requires compatibility with the GSL library </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00112">112</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a17dd731d484d852109fd76b7b23b7861"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="a17dd731d484d852109fd76b7b23b7861" args="(const CvMat *cvMatrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const CvMat *&nbsp;</td>
          <td class="paramname"> <em>cvMatrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>OpenCV matrix conversion constructor. </p>
<p>This function creates a matrix importing the contents of an OpenCV matrix.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The OpenCV compatibility option must be enabled at the QVision library compilation to use this constructor </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cvMatrix</em>&nbsp;</td><td>pointer to OpenCV matrix </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00136">136</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="af9a2ca831ea15352d53859a5ba817913"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="af9a2ca831ea15352d53859a5ba817913" args="(const QVVector &amp;vector, const bool rowVector=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>rowVector</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Octave matrix conversion constructor. </p>
<p>This function creates a matrix importing the contents of an Octave matrix.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The Octave compatibility option must be enabled at the QVision library compilation to use this constructor </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cvMatrix</em>&nbsp;</td><td>pointer to OpenCV matrix Converts the matrix to an Octave library matrix structure This function creates a new Octave matrix object with the same dimensions and content than the actual matrix. </td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The Octave compatibility option must be enabled at the QVision library compilation to use this method </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>operator Matrix () Converts the matrix to an Octave library matrix structure This function creates a new Octave matrix object with the same dimensions and content than the actual matrix. </dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The Octave compatibility option must be enabled at the QVision library compilation to use this operator </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>toOctaveMat() Vector to matrix constructor Creates a row or column matrix from a vector.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>vector to convert to matrix type. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rowVector</em>&nbsp;</td><td>if true, creates a row matrix from the vector, else creates a column matrix from it. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00084">84</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a55959c258761e9433040492bf0caf879"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="a55959c258761e9433040492bf0caf879" args="(const QList&lt; QVVector &gt; &amp;vectorList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const QList&lt; <a class="el" href="classQVVector.html">QVVector</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vectorList</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from a list of QVVectors. </p>
<p>Creates a new matrix from a list of row QVVectors.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vectorList</em>&nbsp;</td><td>list of row vectors. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00093">93</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a187cdf22594a555e1e165938dffdabf8"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="a187cdf22594a555e1e165938dffdabf8" args="(const QList&lt; QVector&lt; double &gt; &gt; &amp;vectorList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const QList&lt; QVector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>vectorList</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from a list of QVectors. </p>
<p>Creates a new matrix from a list of row QVectors.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vectorList</em>&nbsp;</td><td>list of row vectors. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00102">102</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a9d5b767dd336700c292ad9aac40c6314"></a><!-- doxytag: member="QVMatrix::QVMatrix" ref="a9d5b767dd336700c292ad9aac40c6314" args="(const QList&lt; QPointF &gt; &amp;pointList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::QVMatrix </td>
          <td>(</td>
          <td class="paramtype">const QList&lt; QPointF &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>pointList</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from a list of QPointF. </p>
<p>Creates a new matrix from a list of points</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pointList</em>&nbsp;</td><td>list of points. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00129">129</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a129ef6e4e7854e7faa11234ac6686239"></a><!-- doxytag: member="QVMatrix::toCvMat" ref="a129ef6e4e7854e7faa11234ac6686239" args="(const int cvMatType=CV_64F) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CvMat * QVMatrix::toCvMat </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>cvMatType</em> = <code>CV_64F</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Converts the matrix to an OpenCV matrix structure. </p>
<p>This function creates a new CvMat object with the same dimensions and content of the actual matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cvMatType</em>&nbsp;</td><td>OpenCV type of the elements of the new matrix. Actually two types are valid as parameters:</p>
<ul>
<li>CV_32F</li>
<li>CV_64F</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The OpenCV compatibility option must be enabled at the QVision library compilation to use this method </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>operator CvMat *() </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00143">143</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a9dec7b945b360b936f42343d1993c73d">operator CvMat *()</a>.</p>

</div>
</div>
<a class="anchor" id="a9dec7b945b360b936f42343d1993c73d"></a><!-- doxytag: member="QVMatrix::operator CvMat *" ref="a9dec7b945b360b936f42343d1993c73d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::operator CvMat * </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Converts the matrix to an OpenCV matrix structure. </p>
<p>This function creates a new CvMat object with the same dimensions and content than the actual matrix. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The OpenCV compatibility option must be enabled at the QVision library compilation to use this operator </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a129ef6e4e7854e7faa11234ac6686239" title="Converts the matrix to an OpenCV matrix structure.">toCvMat()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00183">183</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4f0eb74e2d2b71ba42ec6595527c71b4"></a><!-- doxytag: member="QVMatrix::operator QList&lt; QVVector &gt;" ref="a4f0eb74e2d2b71ba42ec6595527c71b4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::operator QList&lt; <a class="el" href="classQVVector.html">QVVector</a> &gt; </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert to a list of QVVectors operator. </p>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00247">247</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5482f998e122dcab127ce2bb18dbfcfc"></a><!-- doxytag: member="QVMatrix::operator QList&lt; QVector&lt; double &gt; &gt;" ref="a5482f998e122dcab127ce2bb18dbfcfc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::operator QList&lt; QVector&lt; double &gt; &gt; </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert to a list of QVectors operator. </p>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00258">258</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeb271c920414baa68078052cd263d391"></a><!-- doxytag: member="QVMatrix::operator gsl_matrix *" ref="aeb271c920414baa68078052cd263d391" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVMatrix::operator gsl_matrix * </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert to a gsl_matrix * operator. </p>
<p>Creates a new gsl_matrix * from a matrix </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This constructor requires compatibility with the GSL library </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00119">119</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ad8121ca66a84f9d804f2e52764dc0fac"></a><!-- doxytag: member="QVMatrix::operator=" ref="ad8121ca66a84f9d804f2e52764dc0fac" args="(const QVMatrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> &amp; QVMatrix::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>matrix to be copied. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00176">176</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a0475e20fe6c860e6188729afe78c6f72"></a><!-- doxytag: member="QVMatrix::operator==" ref="a0475e20fe6c860e6188729afe78c6f72" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QVMatrix::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix equality operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>term for the compare operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the given matrix has same dimensions and equal content of the data buffer, else false. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#ad93605cfaa45a37fe579a709d3707ddf" title="Matrix-matrix equality operator.">equals</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00293">293</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7eba7d4d45f9f23f32774871c442eb04"></a><!-- doxytag: member="QVMatrix::operator+=" ref="a7eba7d4d45f9f23f32774871c442eb04" args="(const QVMatrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a>&amp; QVMatrix::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix incremental operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>addendum to the actual matrix </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the given matrix has same dimensions and equal content of the data buffer, else false. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#ad93605cfaa45a37fe579a709d3707ddf" title="Matrix-matrix equality operator.">equals</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00300">300</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa54b4b5519dce590e7973f5d34dcc9ae"></a><!-- doxytag: member="QVMatrix::operator!=" ref="aa54b4b5519dce590e7973f5d34dcc9ae" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QVMatrix::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix unequality operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>term for the compare operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>false if the given matrix has same dimensions and equal content of the data buffer, else true. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#ad93605cfaa45a37fe579a709d3707ddf" title="Matrix-matrix equality operator.">equals</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00311">311</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6bf774fd020ec66c42f3f40659061079"></a><!-- doxytag: member="QVMatrix::operator*" ref="a6bf774fd020ec66c42f3f40659061079" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix product operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>factor for the product operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>matrixProduct </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00317">317</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#aa114573396ac3b3bc9ebaf975dc7ec9c">operator-()</a>.</p>

</div>
</div>
<a class="anchor" id="aa0424b2a59ca4be8687837ddae2afeab"></a><!-- doxytag: member="QVMatrix::operator/" ref="aa0424b2a59ca4be8687837ddae2afeab" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix division. </p>
<p>The following expression:</p>
<p>X = A / B</p>
<p>is equivalent to this one</p>
<p>X = A * pseudoInverse(B)</p>
<p>With the difference that the pseudoinverse matrix for <em>B</em> is not directly computed. Instead, the matrix equation:</p>
<p>X * B = A</p>
<p>is solved for the <em>X</em> term. This leads to more stable and efficient results than using the pseudo inverse.</p>
<p>this operator gets X from:</p>
<p>X = A / B -&gt; X * B = A -&gt; B' * X' = A'</p>
<p>using a linear system resolution based on a LU decomposition over A. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This operator requires compatibility with the GSL library. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>factor for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a35e6590cf43e82694aa2b3d8e6559136" title="Matrix-matrix division.">matrixDivide(const QVMatrix &amp;) const </a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00346">346</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1742df867662935c6aa02a22825baa9e"></a><!-- doxytag: member="QVMatrix::operator+" ref="a1742df867662935c6aa02a22825baa9e" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix addition operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>term for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#abcbf2346a9cf0a62444d7a9254890952" title="Matrix-matrix addition.">addition</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00353">353</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="af36e67dde2af09f40295af574cc2130b"></a><!-- doxytag: member="QVMatrix::operator&#45;" ref="af36e67dde2af09f40295af574cc2130b" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix substraction operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>subtrahend for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#ac65404c74ffc0f41f6d22a3fd6914f8a" title="Matrix-matrix substraction.">substract</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00359">359</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa114573396ac3b3bc9ebaf975dc7ec9c"></a><!-- doxytag: member="QVMatrix::operator&#45;" ref="aa114573396ac3b3bc9ebaf975dc7ec9c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator- </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Obtains the additive inverse of the matrix. </p>
<p>Obtains a matrix changing the sign of its elements.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#ac65404c74ffc0f41f6d22a3fd6914f8a" title="Matrix-matrix substraction.">substract</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00366">366</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="af8943096382a045d930333b515bfcf8b"></a><!-- doxytag: member="QVMatrix::operator*" ref="af8943096382a045d930333b515bfcf8b" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator* </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar product. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>factor for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a75ac95f4f6c88b4354e4e8aeab5b13a1" title="Matrix-scalar product.">scalarProduct</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00374">374</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a747c925a4238317f16c26a4bafd64503"></a><!-- doxytag: member="QVMatrix::operator/" ref="a747c925a4238317f16c26a4bafd64503" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator/ </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar division operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>divider for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#ab87d29d63b8f41ff3f4a812a813f7718" title="Matrix-scalar division.">scalarDivide</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00380">380</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a49524200d6a4d2b01682239f176b9948"></a><!-- doxytag: member="QVMatrix::operator+" ref="a49524200d6a4d2b01682239f176b9948" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator+ </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar addition. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>addendum for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>scalarAddition </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00386">386</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a349c6ab3c6b3a693df71ed1b787b0c67"></a><!-- doxytag: member="QVMatrix::operator&#45;" ref="a349c6ab3c6b3a693df71ed1b787b0c67" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator- </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar substraction operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to substract. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>scalarSubstraction </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00392">392</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a60a80a735446038eec5b3ddaf8e8ed03"></a><!-- doxytag: member="QVMatrix::operator*" ref="a60a80a735446038eec5b3ddaf8e8ed03" args="(const QVVector &amp;vector) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVVector.html">QVVector</a> QVMatrix::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vector</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-vector product. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>vector to multiply by. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00399">399</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="aec43856676ac83417fcafda9d4ef57e5"></a><!-- doxytag: member="QVMatrix::verticalAppend" ref="aec43856676ac83417fcafda9d4ef57e5" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::verticalAppend </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends matrices vertically. </p>
<p>Considering two matrix objects <img class="formulaInl" alt="$ A $" src="form_55.png"/> and <img class="formulaInl" alt="$ B $" src="form_56.png"/>, this method returns the following matrix object:</p>
<p><img class="formulaInl" alt="$ A.verticalAppend(B) = \left[ \begin{array}{c} A \\ B \end{array} \right] $" src="form_57.png"/></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>matrix to be appended </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a03059f615e8ec998bfb35f22b23e1280" title="Appends matrices vertically.">operator&amp;()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00598">598</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a03059f615e8ec998bfb35f22b23e1280">operator&amp;()</a>.</p>

</div>
</div>
<a class="anchor" id="a7b51282594521a3a7c759c7a43b5e73a"></a><!-- doxytag: member="QVMatrix::horizontalAppend" ref="a7b51282594521a3a7c759c7a43b5e73a" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::horizontalAppend </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends matrices horizontally. </p>
<p>Considering two matrix objects <img class="formulaInl" alt="$ A $" src="form_55.png"/> and <img class="formulaInl" alt="$ B $" src="form_56.png"/>, this method returns the following matrix object:</p>
<p><img class="formulaInl" alt="$ A.horizontalAppend(B) = \left[ A | B \right] $" src="form_58.png"/></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>matrix to be appended </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a6decf507e131ab7fd704655277c004dd" title="Appends matrices horizontally.">operator|()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00572">572</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a6decf507e131ab7fd704655277c004dd">operator|()</a>.</p>

</div>
</div>
<a class="anchor" id="a03059f615e8ec998bfb35f22b23e1280"></a><!-- doxytag: member="QVMatrix::operator&amp;" ref="a03059f615e8ec998bfb35f22b23e1280" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator&amp; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends matrices vertically. </p>
<p>Considering two matrix objects <img class="formulaInl" alt="$ A $" src="form_55.png"/> and <img class="formulaInl" alt="$ B $" src="form_56.png"/>, this operator returns the following matrix object:</p>
<p><img class="formulaInl" alt="$ A \&amp; B = \left[ \begin{array}{c} A \\ B \end{array} \right] $" src="form_59.png"/></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>matrix to be appended </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#aec43856676ac83417fcafda9d4ef57e5" title="Appends matrices vertically.">verticalAppend()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00432">432</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6decf507e131ab7fd704655277c004dd"></a><!-- doxytag: member="QVMatrix::operator|" ref="a6decf507e131ab7fd704655277c004dd" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator| </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends matrices horizontally. </p>
<p>Considering two matrix objects <img class="formulaInl" alt="$ A $" src="form_55.png"/> and <img class="formulaInl" alt="$ B $" src="form_56.png"/>, this operator returns the following matrix object:</p>
<p><img class="formulaInl" alt="$ A | B = \left[ A | B \right] $" src="form_60.png"/></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>matrix to be appended </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a7b51282594521a3a7c759c7a43b5e73a" title="Appends matrices horizontally.">horizontalAppend()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00442">442</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a993620be472b4de818d58adba0c9ed4a"></a><!-- doxytag: member="QVMatrix::operator&amp;" ref="a993620be472b4de818d58adba0c9ed4a" args="(const QVVector &amp;vector) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator&amp; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vector</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends vector to matrix vertically. </p>
<p>Considering a matrix object <img class="formulaInl" alt="$ A $" src="form_55.png"/> and a vector object <img class="formulaInl" alt="$ \mathbf{v} $" src="form_61.png"/>, this operator returns the following matrix object:</p>
<p><img class="formulaInl" alt="$ A \&amp; v = \left[ \begin{array}{c} A \\ \mathbf{v} \end{array} \right] $" src="form_62.png"/></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>vector to be appended </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#aec43856676ac83417fcafda9d4ef57e5" title="Appends matrices vertically.">verticalAppend()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00452">452</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a63687cf86392096e1c43bfb429b57b1f"></a><!-- doxytag: member="QVMatrix::operator|" ref="a63687cf86392096e1c43bfb429b57b1f" args="(const QVVector &amp;vector) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::operator| </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vector</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends vector to matrix horizontally. </p>
<p>Considering a matrix object <img class="formulaInl" alt="$ A $" src="form_55.png"/> and a vector object <img class="formulaInl" alt="$ \mathbf{v} $" src="form_61.png"/>, this operator returns the following matrix object:</p>
<p><img class="formulaInl" alt="$ A | v = \left[ A | \mathbf{v} \right] $" src="form_63.png"/></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>vector to be appended </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a7b51282594521a3a7c759c7a43b5e73a" title="Appends matrices horizontally.">horizontalAppend()</a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00462">462</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7c4636a7c04ddacddb1cea2cbc1a5b60"></a><!-- doxytag: member="QVMatrix::operator()" ref="a7c4636a7c04ddacddb1cea2cbc1a5b60" args="(const int row, const int col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double&amp; QVMatrix::operator() </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>col</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Element access operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>main index value for data access </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>col</em>&nbsp;</td><td>secondary index value for data access </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00470">470</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a30f99ef8af0ff9f3997143d389698b71">elementProduct()</a>, <a class="el" href="classQVMatrix.html#a6d95db8050afcbb1336193a3b5b6573b">getCols()</a>, <a class="el" href="classQVMatrix.html#a00e9802b334dca947733bf00ac049c5c">getRows()</a>, <a class="el" href="classQVMatrix.html#a387750529622104faba8047cb0efa62a">norm2()</a>, <a class="el" href="classQVMatrix.html#ab4f574a0822e8d707ca40970563338a3">QVMatrix()</a>, <a class="el" href="classQVMatrix.html#a9987d3595383ca057eeaad815845f00a">reversedCols()</a>, <a class="el" href="classQVMatrix.html#a8c360feaaf1382f1afeae554ca1af5b7">reversedRows()</a>, and <a class="el" href="classQVMatrix.html#a12aec43704cd3577bea5fd127343aee0">rowHomogeneousNormalize()</a>.</p>

</div>
</div>
<a class="anchor" id="a3166c3978b16d480038546163d087c3b"></a><!-- doxytag: member="QVMatrix::operator()" ref="a3166c3978b16d480038546163d087c3b" args="(const int row, const int col) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double QVMatrix::operator() </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>col</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Overloaded version of element access operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>main index value for data access </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>col</em>&nbsp;</td><td>secondary index value for data access </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00477">477</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae9de904f46a790bef981c0101a4ee6f6"></a><!-- doxytag: member="QVMatrix::getDataSize" ref="ae9de904f46a790bef981c0101a4ee6f6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int QVMatrix::getDataSize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the size of the data array. </p>
<p>This returns the number of elements in the matrix. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the product of the sizes of all the indexes in the matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00484">484</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#abcbf2346a9cf0a62444d7a9254890952">addition()</a>, <a class="el" href="classQVMatrix.html#a6172be84a1ff456c4f39b37e6e3d3eaa">containsInf()</a>, <a class="el" href="classQVMatrix.html#a43455dfaf2e8fa71242ea1fdc8beb102">containsNaN()</a>, <a class="el" href="classQVMatrix.html#ad93605cfaa45a37fe579a709d3707ddf">equals()</a>, <a class="el" href="classQVMatrix.html#a383f8068c7fe6e793807e20542f779d1">inlineAddition()</a>, <a class="el" href="classQVMatrix.html#a387750529622104faba8047cb0efa62a">norm2()</a>, <a class="el" href="classQVMatrix.html#af1286b0c208cec68dd42e5411b210081">scalarAdd()</a>, <a class="el" href="classQVMatrix.html#ab87d29d63b8f41ff3f4a812a813f7718">scalarDivide()</a>, <a class="el" href="classQVMatrix.html#a75ac95f4f6c88b4354e4e8aeab5b13a1">scalarProduct()</a>, <a class="el" href="classQVMatrix.html#a6980327fe32d68ae6028482a8a96200e">scalarSubstract()</a>, <a class="el" href="classQVMatrix.html#ae6b416b2be44685dab80600afd239ed4">set()</a>, and <a class="el" href="classQVMatrix.html#ac65404c74ffc0f41f6d22a3fd6914f8a">substract()</a>.</p>

</div>
</div>
<a class="anchor" id="a50de15cc657c8a1d9fcc749161192a64"></a><!-- doxytag: member="QVMatrix::getReadData" ref="a50de15cc657c8a1d9fcc749161192a64" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const double* QVMatrix::getReadData </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a read-only reference to the data buffer of the matrix. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a constant pointer to the data buffer of the matrix </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00489">489</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#abcbf2346a9cf0a62444d7a9254890952">addition()</a>, <a class="el" href="classQVMatrix.html#a6172be84a1ff456c4f39b37e6e3d3eaa">containsInf()</a>, <a class="el" href="classQVMatrix.html#a43455dfaf2e8fa71242ea1fdc8beb102">containsNaN()</a>, <a class="el" href="classQVMatrix.html#a2b08927830e95af327187580ba1875fc">dotProduct()</a>, <a class="el" href="classQVMatrix.html#ad93605cfaa45a37fe579a709d3707ddf">equals()</a>, <a class="el" href="classQVMatrix.html#a383f8068c7fe6e793807e20542f779d1">inlineAddition()</a>, <a class="el" href="classQVMatrix.html#aaaf9670f3170fdb0f609d6d08a75a05d">isDiagonal()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga1d52c9946346c83aea79f1f2311b44ef">linear3DPointTriangulation()</a>, <a class="el" href="qvprojective_8cpp.html#aefe2c68264497da296129eb3c0cc8ed4">linearCameraCenterResection()</a>, <a class="el" href="group__qvprojectivegeometry.html#gae1435ef34731a4088d1c45deab3d3ba5">linearCameraResection()</a>, <a class="el" href="classQVMatrix.html#a387750529622104faba8047cb0efa62a">norm2()</a>, <a class="el" href="group__qvmath.html#gaabdd51683148ac1153014120c7558b89">operator&lt;&lt;()</a>, <a class="el" href="classQVVector.html#a8fa57e8d00d704003a7928d4593f250f">QVVector::QVVector()</a>, <a class="el" href="classQVMatrix.html#ac65404c74ffc0f41f6d22a3fd6914f8a">substract()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga86b3bbbca7ae731894f90bfd9ebb3a3a">symmetricEpipolarDistance()</a>, <a class="el" href="classQVMatrix.html#a2f87710c9d8ae4b07b03605daea3782e">transpose()</a>, and <a class="el" href="classQVMatrix.html#a051fa63dfff104d2705b793b4eb39213">triangularSolve()</a>.</p>

</div>
</div>
<a class="anchor" id="a0c5b1e685d14d230c55cfcfb058e372a"></a><!-- doxytag: member="QVMatrix::getWriteData" ref="a0c5b1e685d14d230c55cfcfb058e372a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double* QVMatrix::getWriteData </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a reference of the data buffer of the matrix for read and write accesses. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the data buffer of the matrix </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00494">494</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#abcbf2346a9cf0a62444d7a9254890952">addition()</a>, <a class="el" href="classQVMatrix.html#a5470e61c2827d5485596c3901690154c">dotProduct()</a>, <a class="el" href="classQVMatrix.html#a383f8068c7fe6e793807e20542f779d1">inlineAddition()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga3d79b8259c6cf0dfbd6fbbc4d1f8f968">linear3DPointTriangulation()</a>, <a class="el" href="group__qvprojectivegeometry.html#gae1435ef34731a4088d1c45deab3d3ba5">linearCameraResection()</a>, <a class="el" href="group__qvprojectivegeometry.html#gabe1f2349f630e5584249273044cce486">optimizeReprojectionErrorFor3DPoint()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga3f3a84e1786f64ea1e8ba2975759f406">optimizeReprojectionErrorForCameraPose()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga6a50717778dcec283e6294ba95e41078">optimizeReprojectionErrorForCameraPoseCauchy()</a>, <a class="el" href="classQVVector.html#a6c796d6ed02dd3b04db75e97e92b7fcb">QVVector::outerProduct()</a>, <a class="el" href="classQVMatrix.html#aa1e79567d85632f3bdfbe5168ef75c19">QVMatrix()</a>, <a class="el" href="classQVMatrix.html#af1286b0c208cec68dd42e5411b210081">scalarAdd()</a>, <a class="el" href="classQVMatrix.html#ab87d29d63b8f41ff3f4a812a813f7718">scalarDivide()</a>, <a class="el" href="classQVMatrix.html#a75ac95f4f6c88b4354e4e8aeab5b13a1">scalarProduct()</a>, <a class="el" href="classQVMatrix.html#a6980327fe32d68ae6028482a8a96200e">scalarSubstract()</a>, <a class="el" href="classQVMatrix.html#ae6b416b2be44685dab80600afd239ed4">set()</a>, <a class="el" href="classQVMatrix.html#ac65404c74ffc0f41f6d22a3fd6914f8a">substract()</a>, <a class="el" href="classQVMatrix.html#a2f87710c9d8ae4b07b03605daea3782e">transpose()</a>, and <a class="el" href="classQVMatrix.html#af70ecaa97b938478d6e77dc05defcdda">triangularSolve()</a>.</p>

</div>
</div>
<a class="anchor" id="a2f87710c9d8ae4b07b03605daea3782e"></a><!-- doxytag: member="QVMatrix::transpose" ref="a2f87710c9d8ae4b07b03605daea3782e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::transpose </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Change the order of the indexes in the matrix. </p>
<p>This function reorders the indexes of the matrix. </p>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000062">Todo:</a></b></dt><dd>use blas function cblas_axpy for this </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00433">433</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#gab24bc732bdada660cceccecd98a4a5f2">CholeskyDecompositionResidual()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga721c81d3a9e9c7c2e09f5867241c7021">computeFundamentalMatrix()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga5ccc97075c8c8d5340dd6b8b2ace3190">eigenDecompositionResidual()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga017edd807b040c198a02733e4b81e1df">getCameraPosesFromEssentialMatrix()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaac2e3437531d9acfec99b6b7ee300392">LQDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gabcf3725f2738f4fb4e823d5a7175ecb9">LQDecompositionResidual()</a>, <a class="el" href="classQVMatrix.html#a35e6590cf43e82694aa2b3d8e6559136">matrixDivide()</a>, <a class="el" href="classQVMatrix.html#a63687cf86392096e1c43bfb429b57b1f">operator|()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga2a46051b1a07328de88e5e73710b7f0b">QLDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga42e745f3d76515e05ab8c16c24e0056a">QLDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga00e06784b460e9b3c4a1377b50b2ccb5">QRDecompositionResidual()</a>, <a class="el" href="group__qvstatistics.html#gae616e493b5a83636ca91f8397ad899e7">qvLinearRegularizedRegression()</a>, <a class="el" href="classQVSparseBlockMatrix.html#af2826bfd4440734cf95c6d16099f15b2">QVSparseBlockMatrix::randomSquare()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa825c3d75d892d43c6f20fa3ae909718">RQDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa37783c86d91abd724a2eab2cd609ddd">RQDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga78792d4a8a6337b8b92a86a07ede57ac">singularValueDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa964f05ab494b8a34381d6fa81ce2076">solveFromLUDecomposition()</a>, and <a class="el" href="classQVUKF.html#a2a8d8d4b08c95657876036a7b337280e">QVUKF::update()</a>.</p>

</div>
</div>
<a class="anchor" id="ae6b416b2be44685dab80600afd239ed4"></a><!-- doxytag: member="QVMatrix::set" ref="ae6b416b2be44685dab80600afd239ed4" args="(const double value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::set </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets every element of the matrix to a given value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to set elements in the matrix </td></tr>
  </table>
  </dd>
</dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000063">Todo:</a></b></dt><dd>use blas function cblas_axpy for data add </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00450">450</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a80d992c0c32f62f03d4d6d94a02cfed9">diagonal()</a>, <a class="el" href="classQVMatrix.html#a6eb15980d17c17d4a55ab09a77bcd715">identity()</a>, and <a class="el" href="classQVMatrix.html#aa51c7a1ffb2ec8c9f56cd4c10ad61e81">zeros()</a>.</p>

</div>
</div>
<a class="anchor" id="ad93605cfaa45a37fe579a709d3707ddf"></a><!-- doxytag: member="QVMatrix::equals" ref="ad93605cfaa45a37fe579a709d3707ddf" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QVMatrix::equals </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix equality operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>term for the compare operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the given matrix has same dimensions and equal content of the data buffer, else false. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>operator==(const QVMatrix &amp;) const </dd>
<dd>
<a class="el" href="classQVMatrix.html#aa54b4b5519dce590e7973f5d34dcc9ae" title="Matrix-matrix unequality operator.">operator!=(const QVMatrix &amp;) const </a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00198">198</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#aa54b4b5519dce590e7973f5d34dcc9ae">operator!=()</a>, and <a class="el" href="classQVMatrix.html#a0475e20fe6c860e6188729afe78c6f72">operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a5470e61c2827d5485596c3901690154c"></a><!-- doxytag: member="QVMatrix::dotProduct" ref="a5470e61c2827d5485596c3901690154c" args="(const QVMatrix &amp;matrix, const bool transposeFirstOperand=false, const bool transposeSecondOperand=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::dotProduct </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>transposeFirstOperand</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>transposeSecondOperand</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix product. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>second operator for the multiplication. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a6bf774fd020ec66c42f3f40659061079" title="Matrix-matrix product operator.">operator*(const QVMatrix &amp;) const </a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00235">235</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#ga72b520d418b7835458269a7d803c6668">computeProjectiveHomography()</a>, <a class="el" href="classQVSparseBlockMatrix.html#a36a11e4a75005686b522407e67136b0c">QVSparseBlockMatrix::dotProduct()</a>, <a class="el" href="classQVVector.html#a01773daae3598db0ab634c0d4c12c383">QVVector::operator*()</a>, <a class="el" href="classQVMatrix.html#a6bf774fd020ec66c42f3f40659061079">operator*()</a>, <a class="el" href="group__qvprojectivegeometry.html#gabe1f2349f630e5584249273044cce486">optimizeReprojectionErrorFor3DPoint()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga3f3a84e1786f64ea1e8ba2975759f406">optimizeReprojectionErrorForCameraPose()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga6a50717778dcec283e6294ba95e41078">optimizeReprojectionErrorForCameraPoseCauchy()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga4c9f02ada4121317c084f1c7ec09e17c">solveFromQRDecomposition()</a>, and <a class="el" href="group__qvmatrixalgebra.html#gae7291c840628d8c7f67f90096f470351">solveFromSingularValueDecomposition()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b08927830e95af327187580ba1875fc"></a><!-- doxytag: member="QVMatrix::dotProduct" ref="a2b08927830e95af327187580ba1875fc" args="(const QVVector &amp;vector, const bool transposeMatrix=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVVector.html">QVVector</a> QVMatrix::dotProduct </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>transposeMatrix</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-vector product. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>second operator for the multiplication. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a6bf774fd020ec66c42f3f40659061079" title="Matrix-matrix product operator.">operator*(const QVMatrix &amp;) const </a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00216">216</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a30f99ef8af0ff9f3997143d389698b71"></a><!-- doxytag: member="QVMatrix::elementProduct" ref="a30f99ef8af0ff9f3997143d389698b71" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::elementProduct </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix element product. </p>
<p>This method returns a matrix containing the product of the elements at the corresponding cells of the actual matrix and the one provided as the input parameter.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>second operator for the multiplication. </td></tr>
  </table>
  </dd>
</dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000061">Todo:</a></b></dt><dd>use Blas </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00323">323</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a35e6590cf43e82694aa2b3d8e6559136"></a><!-- doxytag: member="QVMatrix::matrixDivide" ref="a35e6590cf43e82694aa2b3d8e6559136" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::matrixDivide </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix division. </p>
<p>This function solves the <em>X</em> term from the following matrix equation: </p>
<center>X A = B</center><p> where <em>A</em> and <em>B</em> are respectively the actual matrix, and the one given by parameter. This is equivalent to using the following expression for <em>X</em>: </p>
<center>X = B A<sup>-1</sup></center><p> but with a faster method returning a more stable result. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>factor for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#aa0424b2a59ca4be8687837ddae2afeab" title="Matrix-matrix division.">operator/(const QVMatrix &amp;) const </a> </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00349">349</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#aa0424b2a59ca4be8687837ddae2afeab">operator/()</a>.</p>

</div>
</div>
<a class="anchor" id="a051fa63dfff104d2705b793b4eb39213"></a><!-- doxytag: member="QVMatrix::triangularSolve" ref="a051fa63dfff104d2705b793b4eb39213" args="(const QVVector &amp;b, QVVector &amp;x, bool transposed=false, bool unit_diagonal=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::triangularSolve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>transposed</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>unit_diagonal</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Triangular system solving (vector of RHS). </p>
<p>This function solves the <em>x</em> term from the following equation: </p>
<center>L x = b</center><p> where <em>L</em> and <em>b</em> are respectively the actual matrix (which is triangular), and the rhs vector given by parameter.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This method requires compatibility with the GSL library. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>vector for the right hand side (input). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>vector with the solution (output). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00364">364</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#gafc11c4eb4acc7453b7bed072d6bf0a76">solveFromCholeskyDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa964f05ab494b8a34381d6fa81ce2076">solveFromLUDecomposition()</a>, and <a class="el" href="group__qvmatrixalgebra.html#ga4c9f02ada4121317c084f1c7ec09e17c">solveFromQRDecomposition()</a>.</p>

</div>
</div>
<a class="anchor" id="af70ecaa97b938478d6e77dc05defcdda"></a><!-- doxytag: member="QVMatrix::triangularSolve" ref="af70ecaa97b938478d6e77dc05defcdda" args="(const QVMatrix &amp;B, QVMatrix &amp;X, bool transposed=false, bool unit_diagonal=false, bool left=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::triangularSolve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>transposed</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>unit_diagonal</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>left</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Triangular system solving (matrix of RHS). </p>
<p>This function solves the <em>X</em> term from the following matrix equation: </p>
<center>L X = B</center><p> where <em>L</em> and <em>B</em> are respectively the actual matrix (which is triangular), and the one given by parameter.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This method requires compatibility with the GSL library. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>B</em>&nbsp;</td><td>vector for the right hand side (input). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>X</em>&nbsp;</td><td>vector with the solution (output). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00392">392</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ab00a021c82b223c25b6d51c203e30d16"></a><!-- doxytag: member="QVMatrix::inverse" ref="ab00a021c82b223c25b6d51c203e30d16" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::inverse </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the inverse of the matrix. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This method requires compatibility with the GSL library. </dd></dl>

<p><p>Por ahora con la misma pseudoinversa, sería mejor de otro modo... </p>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00421">421</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvstatistics.html#gaa0760c428edf4f7d5e6aeb5b0449f4c2">BhattacharyyaDistance()</a>, and <a class="el" href="group__qvprojectivegeometry.html#ga53841f2498e0f94b889bac1134135e43">getCameraPoseFromCalibratedHomography()</a>.</p>

</div>
</div>
<a class="anchor" id="a340dd57c9cd0130521af15af550cfef2"></a><!-- doxytag: member="QVMatrix::det" ref="a340dd57c9cd0130521af15af550cfef2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double QVMatrix::det </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the determinant of the matrix. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This method requires compatibility with the GSL library. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00427">427</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvstatistics.html#gaa0760c428edf4f7d5e6aeb5b0449f4c2">BhattacharyyaDistance()</a>.</p>

</div>
</div>
<a class="anchor" id="a065ea0cfb0a40679039c539bf4bb76b6"></a><!-- doxytag: member="QVMatrix::meanCol" ref="a065ea0cfb0a40679039c539bf4bb76b6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVVector.html">QVVector</a> QVMatrix::meanCol </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Obtains the mean vector for the column vectors in the matrix. </p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00953">953</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="abcbf2346a9cf0a62444d7a9254890952"></a><!-- doxytag: member="QVMatrix::addition" ref="abcbf2346a9cf0a62444d7a9254890952" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::addition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix addition. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>operand for the add operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a1742df867662935c6aa02a22825baa9e" title="Matrix-matrix addition operator.">operator+(const QVMatrix &amp;) const </a> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000064">Todo:</a></b></dt><dd>use blas function cblas_axpy for data add </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00460">460</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a1742df867662935c6aa02a22825baa9e">operator+()</a>.</p>

</div>
</div>
<a class="anchor" id="a383f8068c7fe6e793807e20542f779d1"></a><!-- doxytag: member="QVMatrix::inlineAddition" ref="a383f8068c7fe6e793807e20542f779d1" args="(const QVMatrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::inlineAddition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix addition. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>operand for the add operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>operator+=(const QVMatrix &amp;) const  </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000065">Todo:</a></b></dt><dd>use blas function cblas_axpy for data add </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00478">478</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a7eba7d4d45f9f23f32774871c442eb04">operator+=()</a>.</p>

</div>
</div>
<a class="anchor" id="ac65404c74ffc0f41f6d22a3fd6914f8a"></a><!-- doxytag: member="QVMatrix::substract" ref="ac65404c74ffc0f41f6d22a3fd6914f8a" args="(const QVMatrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::substract </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-matrix substraction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td>subtrahend for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#af36e67dde2af09f40295af574cc2130b" title="Matrix-matrix substraction operator.">operator-(const QVMatrix &amp;) const </a> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000066">Todo:</a></b></dt><dd>use blas function cblas_axpy for data add </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00493">493</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#af36e67dde2af09f40295af574cc2130b">operator-()</a>.</p>

</div>
</div>
<a class="anchor" id="ab87d29d63b8f41ff3f4a812a813f7718"></a><!-- doxytag: member="QVMatrix::scalarDivide" ref="ab87d29d63b8f41ff3f4a812a813f7718" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::scalarDivide </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar division. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>scalar value to use in the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a747c925a4238317f16c26a4bafd64503" title="Matrix-scalar division operator.">operator/(const double) const </a> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000068">Todo:</a></b></dt><dd>use blas function? </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00527">527</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a747c925a4238317f16c26a4bafd64503">operator/()</a>.</p>

</div>
</div>
<a class="anchor" id="a75ac95f4f6c88b4354e4e8aeab5b13a1"></a><!-- doxytag: member="QVMatrix::scalarProduct" ref="a75ac95f4f6c88b4354e4e8aeab5b13a1" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::scalarProduct </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar product. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>factor for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#af8943096382a045d930333b515bfcf8b" title="Matrix-scalar product.">operator*(const double) const </a> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000067">Todo:</a></b></dt><dd>use blas function? </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00512">512</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#af8943096382a045d930333b515bfcf8b">operator*()</a>, and <a class="el" href="qvmatrix_8h.html#a487146b8bf0d9fa878ac70f07db27ba9">operator*()</a>.</p>

</div>
</div>
<a class="anchor" id="af1286b0c208cec68dd42e5411b210081"></a><!-- doxytag: member="QVMatrix::scalarAdd" ref="af1286b0c208cec68dd42e5411b210081" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::scalarAdd </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar addition. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>summand for the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a49524200d6a4d2b01682239f176b9948" title="Matrix-scalar addition.">operator+(const double) const </a> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000069">Todo:</a></b></dt><dd>use blas function? </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00542">542</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a49524200d6a4d2b01682239f176b9948">operator+()</a>, and <a class="el" href="qvmatrix_8h.html#a7bd034eee5dffb1811c3012483e57f81">operator+()</a>.</p>

</div>
</div>
<a class="anchor" id="a6980327fe32d68ae6028482a8a96200e"></a><!-- doxytag: member="QVMatrix::scalarSubstract" ref="a6980327fe32d68ae6028482a8a96200e" args="(const double value) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::scalarSubstract </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix-scalar substraction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to substract. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQVMatrix.html#a349c6ab3c6b3a693df71ed1b787b0c67" title="Matrix-scalar substraction operator.">operator-(const double) const </a> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000070">Todo:</a></b></dt><dd>use blas function? </dd></dl>
</p>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00557">557</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a349c6ab3c6b3a693df71ed1b787b0c67">operator-()</a>, and <a class="el" href="qvmatrix_8h.html#a5f3ee33a44f26d22ea440be723fe2858">operator-()</a>.</p>

</div>
</div>
<a class="anchor" id="a387750529622104faba8047cb0efa62a"></a><!-- doxytag: member="QVMatrix::norm2" ref="a387750529622104faba8047cb0efa62a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double QVMatrix::norm2 </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the <a href="http://en.wikipedia.org/wiki/Norm_%28mathematics%29">norm<sub>2</sub></a> for matrix. </p>
<p>The resulting value will be the square root of the following sumatory:</p>
<p><img class="formulaInl" alt="$ \|A\|_2 := \sqrt{ \sum |a_{ij}|^2 } $" src="form_64.png"/></p>
<p>where <img class="formulaInl" alt="$ a_{ij} $" src="form_65.png"/> are the elements of the matrix <img class="formulaInl" alt="$ A $" src="form_55.png"/>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>norm-2 of the matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00626">626</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVQuaternion.html#ab5c7e55c31b8523d74fae84889a96ce4">QVQuaternion::QVQuaternion()</a>, and <a class="el" href="classQVUKF.html#a2a8d8d4b08c95657876036a7b337280e">QVUKF::update()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e57c222b6e0b0d8f43576b8ffc01e04"></a><!-- doxytag: member="QVMatrix::trace" ref="a9e57c222b6e0b0d8f43576b8ffc01e04" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double QVMatrix::trace </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the <a href="http://en.wikipedia.org/wiki/Trace_(linear_algebra)">trace</a> of the matrix. </p>
<p>The trace of the matrix is the sum of the diagonal elements:</p>
<p><img class="formulaInl" alt="$ \mathrm{tr}(A) = a_{11} + a_{22} + \dots + a_{nn}=\sum_{i=1}^{n} a_{i i} $" src="form_66.png"/></p>
<p>where <img class="formulaInl" alt="$ a_{ij} $" src="form_65.png"/> are the elements of the matrix <img class="formulaInl" alt="$ A $" src="form_55.png"/>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>trace of the matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00645">645</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a43455dfaf2e8fa71242ea1fdc8beb102"></a><!-- doxytag: member="QVMatrix::containsNaN" ref="a43455dfaf2e8fa71242ea1fdc8beb102" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QVMatrix::containsNaN </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether the matrix contains a NaN value or not. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if any of the values contained in the matrix is a NaN, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00667">667</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvsfm.html#gaab6ac97055fa83864cb3bcad712008b7">linearCameraPairInitialization()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga6a50717778dcec283e6294ba95e41078">optimizeReprojectionErrorForCameraPoseCauchy()</a>, and <a class="el" href="classQVQuaternion.html#ab5c7e55c31b8523d74fae84889a96ce4">QVQuaternion::QVQuaternion()</a>.</p>

</div>
</div>
<a class="anchor" id="a6172be84a1ff456c4f39b37e6e3d3eaa"></a><!-- doxytag: member="QVMatrix::containsInf" ref="a6172be84a1ff456c4f39b37e6e3d3eaa" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QVMatrix::containsInf </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether the matrix contains an infinite value or not. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if any of the values contained in the matrix is infinite, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00679">679</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aaaf9670f3170fdb0f609d6d08a75a05d"></a><!-- doxytag: member="QVMatrix::isDiagonal" ref="aaaf9670f3170fdb0f609d6d08a75a05d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QVMatrix::isDiagonal </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether the matrix is a diagonal matrix or not. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if any of the values outside of the matrix diagonal differs from zero, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00654">654</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a12aec43704cd3577bea5fd127343aee0"></a><!-- doxytag: member="QVMatrix::rowHomogeneousNormalize" ref="a12aec43704cd3577bea5fd127343aee0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::rowHomogeneousNormalize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Homogeneous normalization for rows of the matrix. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000075">Todo:</a></b></dt><dd>explain homogeneous normalization</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>norm-2 of the matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00691">691</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a420bba03aeccbd18161418049a025f66"></a><!-- doxytag: member="QVMatrix::getCols" ref="a420bba03aeccbd18161418049a025f66" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int QVMatrix::getCols </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get width of the matrix. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of columns for the matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00683">683</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#gab24bc732bdada660cceccecd98a4a5f2">CholeskyDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga18cb128a894fa599a42b85e403049416">determinant()</a>, <a class="el" href="classQVMatrix.html#abcfe032545b49448a2a064a7952f7ece">diagonal()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga5ccc97075c8c8d5340dd6b8b2ace3190">eigenDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#gabbfe32bf1d0c4def6ecb805bca65d03c">eigenValues()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga124008527c22895b3dc8b828eb867306">eigenValuesResidual()</a>, <a class="el" href="group__qvippFF.html#ga6d8b00040deb1afc4a23e856f5157907">Filter()</a>, <a class="el" href="classQVPermutation.html#a8df4d9f49027ce1ab5b0349f6e05febc">QVPermutation::fromMatrix()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga53841f2498e0f94b889bac1134135e43">getCameraPoseFromCalibratedHomography()</a>, <a class="el" href="classQVMatrix.html#a476e9d1714f98c1ae1b7c1d396fcdbaa">getCol()</a>, <a class="el" href="classQVMatrix.html#a6d95db8050afcbb1336193a3b5b6573b">getCols()</a>, <a class="el" href="classQVMatrix.html#ae27f08cd9a56a5c85ba2757cc4078d80">getRow()</a>, <a class="el" href="classQVMatrix.html#a00e9802b334dca947733bf00ac049c5c">getRows()</a>, <a class="el" href="classQVMatrix.html#a77b34335086bb9e12d7d72398c608e75">getSubmatrix()</a>, <a class="el" href="classQVMatrix.html#a35e6590cf43e82694aa2b3d8e6559136">matrixDivide()</a>, <a class="el" href="classQVMatrix.html#a065ea0cfb0a40679039c539bf4bb76b6">meanCol()</a>, <a class="el" href="classQVMatrix.html#a387750529622104faba8047cb0efa62a">norm2()</a>, <a class="el" href="classQVVector.html#a01773daae3598db0ab634c0d4c12c383">QVVector::operator*()</a>, <a class="el" href="group__qvmath.html#gaabdd51683148ac1153014120c7558b89">operator&lt;&lt;()</a>, <a class="el" href="group__qvprojectivegeometry.html#gabe1f2349f630e5584249273044cce486">optimizeReprojectionErrorFor3DPoint()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga3f3a84e1786f64ea1e8ba2975759f406">optimizeReprojectionErrorForCameraPose()</a>, <a class="el" href="group__qvmatrixalgebra.html#gadf6472ec782375d465ff1e87b3ae2557">pseudoInverse()</a>, <a class="el" href="group__qvmath.html#gaa3314730bd45d74b2a4f3cb8bd3fa0fa">qHash()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga42e745f3d76515e05ab8c16c24e0056a">QLDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga00e06784b460e9b3c4a1377b50b2ccb5">QRDecompositionResidual()</a>, <a class="el" href="group__qvstatistics.html#gae616e493b5a83636ca91f8397ad899e7">qvLinearRegularizedRegression()</a>, <a class="el" href="classQVMatrix.html#a55959c258761e9433040492bf0caf879">QVMatrix()</a>, <a class="el" href="classQVSparseBlockMatrix.html#a9a4eac5be3b17f2ac05ae249cf9c5a11">QVSparseBlockMatrix::QVSparseBlockMatrix()</a>, <a class="el" href="classQVUKF.html#a77a7d85376b98d7d6596c8ff9b72548f">QVUKF::QVUKF()</a>, <a class="el" href="classQVMatrix.html#a9987d3595383ca057eeaad815845f00a">reversedCols()</a>, <a class="el" href="classQVMatrix.html#a8c360feaaf1382f1afeae554ca1af5b7">reversedRows()</a>, <a class="el" href="classQVMatrix.html#a12aec43704cd3577bea5fd127343aee0">rowHomogeneousNormalize()</a>, <a class="el" href="classQVSparseBlockMatrix.html#a0cb729d3480d161417812d5ddbc2b378">QVSparseBlockMatrix::setBlock()</a>, <a class="el" href="classQVMatrix.html#a8ebc03603ced1c727afd6f3bd755e57a">setCol()</a>, <a class="el" href="classQVMatrix.html#ad8684520b5095fb350022fc9acb0dba8">setRow()</a>, <a class="el" href="classQVUKF.html#a473451fad3c9b2016fed435a9902e2c7">QVUKF::setState()</a>, <a class="el" href="classQVMatrix.html#ac5ce9ed25c533d7b89abe5b6a5c6df3e">setSubmatrix()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga78792d4a8a6337b8b92a86a07ede57ac">singularValueDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga7e4b10036a1a456b58ffcb0ad0e30d52">singularValuesResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa964f05ab494b8a34381d6fa81ce2076">solveFromLUDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga4c9f02ada4121317c084f1c7ec09e17c">solveFromQRDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gae7291c840628d8c7f67f90096f470351">solveFromSingularValueDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gabcefb2cb61ed46e61130f4892308fee4">solveHomogeneous()</a>, <a class="el" href="classQVMatrix.html#a9e57c222b6e0b0d8f43576b8ffc01e04">trace()</a>, <a class="el" href="classQVMatrix.html#a2f87710c9d8ae4b07b03605daea3782e">transpose()</a>, <a class="el" href="classQVMatrix.html#af70ecaa97b938478d6e77dc05defcdda">triangularSolve()</a>, and <a class="el" href="classQVUKF.html#a2a8d8d4b08c95657876036a7b337280e">QVUKF::update()</a>.</p>

</div>
</div>
<a class="anchor" id="a4108aa685baecab8a9822dcc04e98b7f"></a><!-- doxytag: member="QVMatrix::getRows" ref="a4108aa685baecab8a9822dcc04e98b7f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int QVMatrix::getRows </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get height of the matrix. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of rows for the matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00688">688</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#gab24bc732bdada660cceccecd98a4a5f2">CholeskyDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga18cb128a894fa599a42b85e403049416">determinant()</a>, <a class="el" href="classQVMatrix.html#abcfe032545b49448a2a064a7952f7ece">diagonal()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga5ccc97075c8c8d5340dd6b8b2ace3190">eigenDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#gabbfe32bf1d0c4def6ecb805bca65d03c">eigenValues()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga124008527c22895b3dc8b828eb867306">eigenValuesResidual()</a>, <a class="el" href="group__qvippFF.html#ga6d8b00040deb1afc4a23e856f5157907">Filter()</a>, <a class="el" href="classQVPermutation.html#a8df4d9f49027ce1ab5b0349f6e05febc">QVPermutation::fromMatrix()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga53841f2498e0f94b889bac1134135e43">getCameraPoseFromCalibratedHomography()</a>, <a class="el" href="classQVMatrix.html#a476e9d1714f98c1ae1b7c1d396fcdbaa">getCol()</a>, <a class="el" href="classQVMatrix.html#a6d95db8050afcbb1336193a3b5b6573b">getCols()</a>, <a class="el" href="classQVMatrix.html#ae27f08cd9a56a5c85ba2757cc4078d80">getRow()</a>, <a class="el" href="classQVMatrix.html#a00e9802b334dca947733bf00ac049c5c">getRows()</a>, <a class="el" href="classQVMatrix.html#a77b34335086bb9e12d7d72398c608e75">getSubmatrix()</a>, <a class="el" href="group__qvmatrixalgebra.html#gabcf3725f2738f4fb4e823d5a7175ecb9">LQDecompositionResidual()</a>, <a class="el" href="classQVMatrix.html#a35e6590cf43e82694aa2b3d8e6559136">matrixDivide()</a>, <a class="el" href="classQVMatrix.html#a387750529622104faba8047cb0efa62a">norm2()</a>, <a class="el" href="classQVMatrix.html#a5482f998e122dcab127ce2bb18dbfcfc">operator QList&lt; QVector&lt; double &gt; &gt;()</a>, <a class="el" href="classQVMatrix.html#a4f0eb74e2d2b71ba42ec6595527c71b4">operator QList&lt; QVVector &gt;()</a>, <a class="el" href="classQVVector.html#a01773daae3598db0ab634c0d4c12c383">QVVector::operator*()</a>, <a class="el" href="group__qvmath.html#gaabdd51683148ac1153014120c7558b89">operator&lt;&lt;()</a>, <a class="el" href="group__qvmatrixalgebra.html#gadf6472ec782375d465ff1e87b3ae2557">pseudoInverse()</a>, <a class="el" href="group__qvmath.html#gaa3314730bd45d74b2a4f3cb8bd3fa0fa">qHash()</a>, <a class="el" href="classQVMatrix.html#a55959c258761e9433040492bf0caf879">QVMatrix()</a>, <a class="el" href="classQVSparseBlockMatrix.html#a9a4eac5be3b17f2ac05ae249cf9c5a11">QVSparseBlockMatrix::QVSparseBlockMatrix()</a>, <a class="el" href="qvmatrixalgebra_8cpp.html#a2a11aaeedc4d76975389706a8e27defc">regressionLine()</a>, <a class="el" href="classQVMatrix.html#a9987d3595383ca057eeaad815845f00a">reversedCols()</a>, <a class="el" href="classQVMatrix.html#a8c360feaaf1382f1afeae554ca1af5b7">reversedRows()</a>, <a class="el" href="classQVMatrix.html#a12aec43704cd3577bea5fd127343aee0">rowHomogeneousNormalize()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa37783c86d91abd724a2eab2cd609ddd">RQDecompositionResidual()</a>, <a class="el" href="classQVSparseBlockMatrix.html#a0cb729d3480d161417812d5ddbc2b378">QVSparseBlockMatrix::setBlock()</a>, <a class="el" href="classQVMatrix.html#a8ebc03603ced1c727afd6f3bd755e57a">setCol()</a>, <a class="el" href="classQVMatrix.html#ad8684520b5095fb350022fc9acb0dba8">setRow()</a>, <a class="el" href="classQVMatrix.html#ac5ce9ed25c533d7b89abe5b6a5c6df3e">setSubmatrix()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga7e4b10036a1a456b58ffcb0ad0e30d52">singularValuesResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa964f05ab494b8a34381d6fa81ce2076">solveFromLUDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga4c9f02ada4121317c084f1c7ec09e17c">solveFromQRDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gae7291c840628d8c7f67f90096f470351">solveFromSingularValueDecomposition()</a>, <a class="el" href="classQVMatrix.html#a9e57c222b6e0b0d8f43576b8ffc01e04">trace()</a>, <a class="el" href="classQVMatrix.html#a2f87710c9d8ae4b07b03605daea3782e">transpose()</a>, <a class="el" href="classQVMatrix.html#a051fa63dfff104d2705b793b4eb39213">triangularSolve()</a>, and <a class="el" href="classQVUKF.html#a2a8d8d4b08c95657876036a7b337280e">QVUKF::update()</a>.</p>

</div>
</div>
<a class="anchor" id="a546d28cd3b62456bb4e09987c9904162"></a><!-- doxytag: member="QVMatrix::getType" ref="a546d28cd3b62456bb4e09987c9904162" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a> QVMatrix::getType </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get type of the matrix. </p>
<p>See documentation for enum <a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a>. This matrix feature must nowadays be set <em>by handi</em>. In a future, the matrix type will be detected when certain matrix operations and decopositions will be performed.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Matrix type. See documentation for enum <a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a>. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00696">696</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a051fa63dfff104d2705b793b4eb39213">triangularSolve()</a>.</p>

</div>
</div>
<a class="anchor" id="a5ff2ac8ea4e316fc793d32ce09671e8c"></a><!-- doxytag: member="QVMatrix::setType" ref="a5ff2ac8ea4e316fc793d32ce09671e8c" args="(MatrixType type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::setType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a>&nbsp;</td>
          <td class="paramname"> <em>type</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set type of the matrix. </p>
<p>See documentation for enum <a class="el" href="classQVMatrix.html#a8f4414e6cfd14fe164a164ab20379999">MatrixType</a>. This matrix feature must nowadays be set <em>by handi</em>. In a future, the matrix type will be detected when certain matrix operations and decopositions will be performed.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of columns for the matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00704">704</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#gaac2e3437531d9acfec99b6b7ee300392">LQDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga2a46051b1a07328de88e5e73710b7f0b">QLDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa825c3d75d892d43c6f20fa3ae909718">RQDecomposition()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa964f05ab494b8a34381d6fa81ce2076">solveFromLUDecomposition()</a>, and <a class="el" href="group__qvmatrixalgebra.html#ga4c9f02ada4121317c084f1c7ec09e17c">solveFromQRDecomposition()</a>.</p>

</div>
</div>
<a class="anchor" id="a6d95db8050afcbb1336193a3b5b6573b"></a><!-- doxytag: member="QVMatrix::getCols" ref="a6d95db8050afcbb1336193a3b5b6573b" args="(const int firstCol, const int lastCol) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::getCols </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>firstCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>lastCol</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get submatrix composed by given column range. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>firstCol</em>&nbsp;</td><td>first column to be included in the submatrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lastCol</em>&nbsp;</td><td>last column to be included in the submatrix. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Submatrix containing the columns in the specificated range </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00711">711</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a00e9802b334dca947733bf00ac049c5c"></a><!-- doxytag: member="QVMatrix::getRows" ref="a00e9802b334dca947733bf00ac049c5c" args="(const int firstRow, const int lastRow) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::getRows </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>firstRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>lastRow</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get submatrix composed by given row range. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>firstRow</em>&nbsp;</td><td>first row to be included in the submatrix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lastRow</em>&nbsp;</td><td>last row to be included in the submatrix. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Submatrix containing the rows in the specificated range </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00729">729</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae27f08cd9a56a5c85ba2757cc4078d80"></a><!-- doxytag: member="QVMatrix::getRow" ref="ae27f08cd9a56a5c85ba2757cc4078d80" args="(const int row) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classQVVector.html">QVVector</a> QVMatrix::getRow </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>row</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a row of the matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>row number, a value within [0, r-1], for a matrix with 'r' rows </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a vector containing the values of the row </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00702">702</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#gae622eb1823659bb0d8dd9528f22e2f1c">computeAffineHomography()</a>, <a class="el" href="classQVPermutation.html#a8df4d9f49027ce1ab5b0349f6e05febc">QVPermutation::fromMatrix()</a>, <a class="el" href="classQVMatrix.html#a77b34335086bb9e12d7d72398c608e75">getSubmatrix()</a>, <a class="el" href="classQVMatrix.html#a5482f998e122dcab127ce2bb18dbfcfc">operator QList&lt; QVector&lt; double &gt; &gt;()</a>, <a class="el" href="classQVMatrix.html#a4f0eb74e2d2b71ba42ec6595527c71b4">operator QList&lt; QVVector &gt;()</a>, <a class="el" href="classQVUKF.html#a2a8d8d4b08c95657876036a7b337280e">QVUKF::update()</a>, and <a class="el" href="classQVMatrix.html#aec43856676ac83417fcafda9d4ef57e5">verticalAppend()</a>.</p>

</div>
</div>
<a class="anchor" id="ad8684520b5095fb350022fc9acb0dba8"></a><!-- doxytag: member="QVMatrix::setRow" ref="ad8684520b5095fb350022fc9acb0dba8" args="(const int row, QVVector vector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::setRow </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td>
          <td class="paramname"> <em>vector</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a row of the matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>row number, a value within [0, r-1], for a matrix with 'r' rows </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>a vector containing the values for the row </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00714">714</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVMatrix.html#a77b34335086bb9e12d7d72398c608e75">getSubmatrix()</a>, <a class="el" href="classQVMatrix.html#af9a2ca831ea15352d53859a5ba817913">QVMatrix()</a>, <a class="el" href="classQVVector.html#a54fddac966be9af0f7fce89b87b5cd48">QVVector::toRowMatrix()</a>, <a class="el" href="classQVUKF.html#a2a8d8d4b08c95657876036a7b337280e">QVUKF::update()</a>, and <a class="el" href="classQVMatrix.html#aec43856676ac83417fcafda9d4ef57e5">verticalAppend()</a>.</p>

</div>
</div>
<a class="anchor" id="a002135a00c7da0bce059a47bc1def347"></a><!-- doxytag: member="QVMatrix::setRow" ref="a002135a00c7da0bce059a47bc1def347" args="(const int row, QVector&lt; double &gt; vector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::setRow </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QVector&lt; double &gt;&nbsp;</td>
          <td class="paramname"> <em>vector</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a row of the matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>row number, a value within [0, r-1], for a matrix with 'r' rows </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>a vector containing the values for the row </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00724">724</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a476e9d1714f98c1ae1b7c1d396fcdbaa"></a><!-- doxytag: member="QVMatrix::getCol" ref="a476e9d1714f98c1ae1b7c1d396fcdbaa" args="(const int col) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classQVVector.html">QVVector</a> QVMatrix::getCol </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>col</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a column of the matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>col</em>&nbsp;</td><td>column number, a value within [0, c-1], for a matrix with 'c' columns </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a vector containing the values of the column </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00734">734</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#ga72b520d418b7835458269a7d803c6668">computeProjectiveHomography()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga53841f2498e0f94b889bac1134135e43">getCameraPoseFromCalibratedHomography()</a>, <a class="el" href="group__qvprojectivegeometry.html#ga017edd807b040c198a02733e4b81e1df">getCameraPosesFromEssentialMatrix()</a>, <a class="el" href="classQVMatrix.html#a7b51282594521a3a7c759c7a43b5e73a">horizontalAppend()</a>, <a class="el" href="classQVMatrix.html#a065ea0cfb0a40679039c539bf4bb76b6">meanCol()</a>, <a class="el" href="group__qvmatrixalgebra.html#gadf6472ec782375d465ff1e87b3ae2557">pseudoInverse()</a>, and <a class="el" href="group__qvmatrixalgebra.html#gabcefb2cb61ed46e61130f4892308fee4">solveHomogeneous()</a>.</p>

</div>
</div>
<a class="anchor" id="a8ebc03603ced1c727afd6f3bd755e57a"></a><!-- doxytag: member="QVMatrix::setCol" ref="a8ebc03603ced1c727afd6f3bd755e57a" args="(const int col, QVVector vector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::setCol </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classQVVector.html">QVVector</a>&nbsp;</td>
          <td class="paramname"> <em>vector</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a column of the matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>col</em>&nbsp;</td><td>column number, a value within [0, c-1], for a matrix with 'c' columns </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>a vector containing the values for the column </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00746">746</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#ga53841f2498e0f94b889bac1134135e43">getCameraPoseFromCalibratedHomography()</a>, <a class="el" href="classQVMatrix.html#a7b51282594521a3a7c759c7a43b5e73a">horizontalAppend()</a>, <a class="el" href="classQVMatrix.html#af9a2ca831ea15352d53859a5ba817913">QVMatrix()</a>, and <a class="el" href="classQVVector.html#a57387ffc7c1b3ee7de38adb5155d3707">QVVector::toColumnMatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a77b34335086bb9e12d7d72398c608e75"></a><!-- doxytag: member="QVMatrix::getSubmatrix" ref="a77b34335086bb9e12d7d72398c608e75" args="(const int firstRow, const int lastRow, const int firstCol, const int lastCol) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::getSubmatrix </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>firstRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>lastRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>firstCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>lastCol</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a submatrix from a matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>firstCol</em>&nbsp;</td><td>first column number for the submatrix </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>firstRow</em>&nbsp;</td><td>first row number for the submatrix </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lastCol</em>&nbsp;</td><td>last column number for the submatrix </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lastRow</em>&nbsp;</td><td>last row number for the submatrix </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a submatrix of size (lastRow - firstRow + 1)x(lastCol - firstCol + 1) containing the corresponding elements from the original matrix.</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000071">Todo:</a></b></dt><dd>This method is very slow. Optimize it with blas code. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00768">768</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVEuclideanMapping3.html#a9fa1c24113751ff783141415a3dc38c8">QVEuclideanMapping3::QVEuclideanMapping3()</a>, <a class="el" href="classQVSparseBlockMatrix.html#a9a4eac5be3b17f2ac05ae249cf9c5a11">QVSparseBlockMatrix::QVSparseBlockMatrix()</a>, and <a class="el" href="group__qvsfm.html#gafea767e25db8e80b1822b8a1499776fa">testCheirality()</a>.</p>

</div>
</div>
<a class="anchor" id="ac5ce9ed25c533d7b89abe5b6a5c6df3e"></a><!-- doxytag: member="QVMatrix::setSubmatrix" ref="ac5ce9ed25c533d7b89abe5b6a5c6df3e" args="(const int row, const int col, const QVMatrix &amp;M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QVMatrix::setSubmatrix </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classQVMatrix.html">QVMatrix</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>M</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a submatrix from a matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>first column number for the submatrix </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>col</em>&nbsp;</td><td>first row number for the submatrix </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>M</em>&nbsp;</td><td>Submatrix </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00785">785</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVSparseBlockMatrix.html#aa626b58871ac2f8758e4e766630d8795">QVSparseBlockMatrix::operator QVMatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a8c360feaaf1382f1afeae554ca1af5b7"></a><!-- doxytag: member="QVMatrix::reversedRows" ref="a8c360feaaf1382f1afeae554ca1af5b7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::reversedRows </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a matrix with reversed rows (bottom to top). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reversed matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00797">797</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#ga2a46051b1a07328de88e5e73710b7f0b">QLDecomposition()</a>, and <a class="el" href="group__qvmatrixalgebra.html#gaa825c3d75d892d43c6f20fa3ae909718">RQDecomposition()</a>.</p>

</div>
</div>
<a class="anchor" id="a9987d3595383ca057eeaad815845f00a"></a><!-- doxytag: member="QVMatrix::reversedCols" ref="a9987d3595383ca057eeaad815845f00a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::reversedCols </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a matrix with reversed columns (right to left). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reversed matrix. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00809">809</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#ga2a46051b1a07328de88e5e73710b7f0b">QLDecomposition()</a>, and <a class="el" href="group__qvmatrixalgebra.html#gaa825c3d75d892d43c6f20fa3ae909718">RQDecomposition()</a>.</p>

</div>
</div>
<a class="anchor" id="abcfe032545b49448a2a064a7952f7ece"></a><!-- doxytag: member="QVMatrix::diagonal" ref="abcfe032545b49448a2a064a7952f7ece" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classQVVector.html">QVVector</a> QVMatrix::diagonal </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the diagonal of the matrix. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a vector containing the values of the diagonal </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00757">757</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvmatrixalgebra.html#ga5ccc97075c8c8d5340dd6b8b2ace3190">eigenDecompositionResidual()</a>, and <a class="el" href="group__qvmatrixalgebra.html#ga78792d4a8a6337b8b92a86a07ede57ac">singularValueDecompositionResidual()</a>.</p>

</div>
</div>
<a class="anchor" id="a6eb15980d17c17d4a55ab09a77bcd715"></a><!-- doxytag: member="QVMatrix::identity" ref="a6eb15980d17c17d4a55ab09a77bcd715" args="(const int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::identity </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>size</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates an identity matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>number of cols and rows for the identity matrix </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00824">824</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#ga06a3ff264f0821da24ee07ce73c86bd6">computeSimilarHomography()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga5ccc97075c8c8d5340dd6b8b2ace3190">eigenDecompositionResidual()</a>, <a class="el" href="group__qvsfm.html#gaab6ac97055fa83864cb3bcad712008b7">linearCameraPairInitialization()</a>, <a class="el" href="group__qvmatrixalgebra.html#gabcf3725f2738f4fb4e823d5a7175ecb9">LQDecompositionResidual()</a>, <a class="el" href="classQVMatrix.html#a898e31e14b051d3795d3657b0091c577">multiply()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga42e745f3d76515e05ab8c16c24e0056a">QLDecompositionResidual()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga00e06784b460e9b3c4a1377b50b2ccb5">QRDecompositionResidual()</a>, <a class="el" href="group__qvstatistics.html#gae616e493b5a83636ca91f8397ad899e7">qvLinearRegularizedRegression()</a>, <a class="el" href="classQVMatrix.html#a34cc7d7a575e6e8f766d5e8d6f71ec70">rotationMatrix()</a>, <a class="el" href="classQVMatrix.html#a5b07abcac226018daecf7ed1251c79f4">rotationMatrix3dXAxis()</a>, <a class="el" href="classQVMatrix.html#ac78ee1008505af7a88f864c74d14c454">rotationMatrix3dYAxis()</a>, <a class="el" href="classQVMatrix.html#afceda9ac099f725f7c44d47a4e7e9a9f">rotationMatrix3dZAxis()</a>, <a class="el" href="group__qvmatrixalgebra.html#gaa37783c86d91abd724a2eab2cd609ddd">RQDecompositionResidual()</a>, <a class="el" href="classQVMatrix.html#ae85e5758081def4123365e2b949e8028">scaleMatrix()</a>, <a class="el" href="group__qvmatrixalgebra.html#ga78792d4a8a6337b8b92a86a07ede57ac">singularValueDecompositionResidual()</a>, <a class="el" href="classQVCameraPose.html#ad976cef1f2d772209dfb55f0f105072b">QVCameraPose::toProjectionMatrix()</a>, <a class="el" href="classQVEuclideanMapping3.html#a38a8068d953454ddaf0ef3ff975b9804">QVEuclideanMapping3::toRotationTranslationMatrix()</a>, <a class="el" href="classQVMatrix.html#a0d4484ab18803104864a5da5a12e3231">translationMatrix()</a>, <a class="el" href="classQVMatrix.html#adcd15d700257dffdbf44cd015809dff0">translationMatrix3d()</a>, and <a class="el" href="classQVUKF.html#a2a8d8d4b08c95657876036a7b337280e">QVUKF::update()</a>.</p>

</div>
</div>
<a class="anchor" id="a953207e797ad5c2f8477d3507dbcf86b"></a><!-- doxytag: member="QVMatrix::cameraCalibrationMatrix" ref="a953207e797ad5c2f8477d3507dbcf86b" args="(const double f, const double r=1.0, const double cx=0.0, const double cy=0.0, const double s=0.0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::cameraCalibrationMatrix </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>r</em> = <code>1.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>cx</em> = <code>0.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>cy</em> = <code>0.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>s</em> = <code>0.0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates an intrinsic camera calibration matrix. </p>
<p>This function returns the following <img class="formulaInl" alt="$ 3 \times 3 $" src="form_6.png"/> matrix, corresponding to the intrinsic calibration matrix of a camera:</p>
<p><img class="formulaInl" alt="$K = \left(\begin{array}{ccc} f &amp; s &amp; c_x \\ 0 &amp; rf &amp; c_y \\ 0 &amp; 0 &amp; 1 \end{array}\right)$" src="form_67.png"/></p>
<p>provided the intrinsic parameters <img class="formulaInl" alt="$ f $" src="form_68.png"/>, <img class="formulaInl" alt="$ r $" src="form_69.png"/>, <img class="formulaInl" alt="$ c_x $" src="form_70.png"/>, <img class="formulaInl" alt="$ c_y $" src="form_71.png"/> and <img class="formulaInl" alt="$ s $" src="form_72.png"/> of that camera.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>value for the camera focal </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>aspect ratio </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>first coordinate for the principal point of the image </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>second coordinate for the principal point of the image </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>camera skew </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00833">833</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#gafebb00bc1698d22fdb6875a6a5d70c24">computeCameraFocalFromPlanarHomography()</a>, <a class="el" href="group__qvprojectivegeometry.html#gabb623dbd849917dc8f20dbcbf775ff22">getCameraFocals()</a>, and <a class="el" href="group__qvsfm.html#gaa8c336259c5d54dc09ad6fe8ab1ddb91">readReconstruction_NVM()</a>.</p>

</div>
</div>
<a class="anchor" id="aa51c7a1ffb2ec8c9f56cd4c10ad61e81"></a><!-- doxytag: member="QVMatrix::zeros" ref="aa51c7a1ffb2ec8c9f56cd4c10ad61e81" args="(const int rows, const int cols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::zeros </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>cols</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a zero matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>number of cols and rows for the identity matrix </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cols</em>&nbsp;</td><td>number of cols and rows for the identity matrix </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00839">839</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ad2840553c7fa2cf81c8ce982db34b7b4"></a><!-- doxytag: member="QVMatrix::random" ref="ad2840553c7fa2cf81c8ce982db34b7b4" args="(const int rows, const int cols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::random </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>cols</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a matrix of random values. </p>
<p>This function returns a matrix containing random values, from a uniform distribution [0,1].</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>rows of the matrix </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cols</em>&nbsp;</td><td>cols of the matrix </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00846">846</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="classQVSparseBlockMatrix.html#af2826bfd4440734cf95c6d16099f15b2">QVSparseBlockMatrix::randomSquare()</a>.</p>

</div>
</div>
<a class="anchor" id="a80d992c0c32f62f03d4d6d94a02cfed9"></a><!-- doxytag: member="QVMatrix::diagonal" ref="a80d992c0c32f62f03d4d6d94a02cfed9" args="(const QVVector &amp;diagonalVector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::diagonal </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classQVVector.html">QVVector</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>diagonalVector</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a diagonal matrix with given entries. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>diagonalVector</em>&nbsp;</td><td>vector containing the diagonal values </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00855">855</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a34cc7d7a575e6e8f766d5e8d6f71ec70"></a><!-- doxytag: member="QVMatrix::rotationMatrix" ref="a34cc7d7a575e6e8f766d5e8d6f71ec70" args="(const double angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::rotationMatrix </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>angle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a rotation matrix for points in the 2D plane. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>angle to rotate around coordinate center </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00865">865</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#ga06a3ff264f0821da24ee07ce73c86bd6">computeSimilarHomography()</a>, and <a class="el" href="classQVMatrix.html#a5ee1de2599284bf68e1940248487687c">rotationMatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a5ee1de2599284bf68e1940248487687c"></a><!-- doxytag: member="QVMatrix::rotationMatrix" ref="a5ee1de2599284bf68e1940248487687c" args="(const QPointF center, const double angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::rotationMatrix </td>
          <td>(</td>
          <td class="paramtype">const QPointF&nbsp;</td>
          <td class="paramname"> <em>center</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>angle</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a rotation matrix for points in the 2D plane. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>angle to rotate around coordinate center </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>center</em>&nbsp;</td><td>point at the center of the rotation </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00876">876</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a0d4484ab18803104864a5da5a12e3231"></a><!-- doxytag: member="QVMatrix::translationMatrix" ref="a0d4484ab18803104864a5da5a12e3231" args="(const double x, const double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::translationMatrix </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a 2D translation matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>increment in X axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>increment in Y axis </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00882">882</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#ga06a3ff264f0821da24ee07ce73c86bd6">computeSimilarHomography()</a>, and <a class="el" href="classQVMatrix.html#a5ee1de2599284bf68e1940248487687c">rotationMatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="ae85e5758081def4123365e2b949e8028"></a><!-- doxytag: member="QVMatrix::scaleMatrix" ref="ae85e5758081def4123365e2b949e8028" args="(const double zoom)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::scaleMatrix </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>zoom</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a 2D scale matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>zoom</em>&nbsp;</td><td>scale </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00893">893</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

<p>Referenced by <a class="el" href="group__qvprojectivegeometry.html#ga06a3ff264f0821da24ee07ce73c86bd6">computeSimilarHomography()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b07abcac226018daecf7ed1251c79f4"></a><!-- doxytag: member="QVMatrix::rotationMatrix3dXAxis" ref="a5b07abcac226018daecf7ed1251c79f4" args="(const double angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::rotationMatrix3dXAxis </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>angle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a rotation matrix for 3D-X axis. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>angle to rotate around X axis in radians </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00916">916</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ac78ee1008505af7a88f864c74d14c454"></a><!-- doxytag: member="QVMatrix::rotationMatrix3dYAxis" ref="ac78ee1008505af7a88f864c74d14c454" args="(const double angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::rotationMatrix3dYAxis </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>angle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a rotation matrix for 3D-Y axis. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>angle to rotate around Y axis in radians </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00929">929</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="afceda9ac099f725f7c44d47a4e7e9a9f"></a><!-- doxytag: member="QVMatrix::rotationMatrix3dZAxis" ref="afceda9ac099f725f7c44d47a4e7e9a9f" args="(const double angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::rotationMatrix3dZAxis </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>angle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a rotation matrix for 3D-Z axis. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>angle to rotate around Z axis in radians </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00903">903</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="adcd15d700257dffdbf44cd015809dff0"></a><!-- doxytag: member="QVMatrix::translationMatrix3d" ref="adcd15d700257dffdbf44cd015809dff0" args="(const double x, const double y, const double z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::translationMatrix3d </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a 3D translation matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>increment in X axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>increment in Y axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>increment in Z axis </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8cpp_source.html#l00942">942</a> of file <a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a8cb7e8779e6d1ed08b6ddb9e2fed9750"></a><!-- doxytag: member="QVMatrix::reshape" ref="a8cb7e8779e6d1ed08b6ddb9e2fed9750" args="(const int newRows, const int newCols) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::reshape </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>newRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>newCols</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new matrix with different size and the same content. </p>
<p>This method creates a matrix with the dimensions specified in the input arguments, keeping the elements of the actual matrix.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cols</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00897">897</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<a class="anchor" id="a898e31e14b051d3795d3657b0091c577"></a><!-- doxytag: member="QVMatrix::multiply" ref="a898e31e14b051d3795d3657b0091c577" args="(const QList&lt; QVMatrix &gt; &amp;matrices)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classQVMatrix.html">QVMatrix</a> QVMatrix::multiply </td>
          <td>(</td>
          <td class="paramtype">const QList&lt; <a class="el" href="classQVMatrix.html">QVMatrix</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>matrices</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the product of a list of matrices. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrices</em>&nbsp;</td><td>matrice list </td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Either GSL or MLK compatibilty must be enabled for this function. </dd></dl>

<p>Definition at line <a class="el" href="qvmatrix_8h_source.html#l00908">908</a> of file <a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/qvmath/<a class="el" href="qvmatrix_8h_source.html">qvmatrix.h</a></li>
<li>src/qvmath/<a class="el" href="qvmatrix_8cpp_source.html">qvmatrix.cpp</a></li>
</ul>
</div>
</td></tr></table>

<br /><hr><br />
<center><a href="http://perception.inf.um.es/QVision">QVision framework</a>.
<a href="http://perception.inf.um.es">PARP research group</a>.
Copyright &copy; 2007, 2008, 2009, 2010, 2011.</center>
<br />
</body>
</html>
